import { KeyValue } from '@antv/x6-common'; export declare class Registry, OptionalType = never> { readonly data: KeyValue; readonly options: Registry.Options; constructor(options: Registry.Options); get names(): string[]; register(entities: { [name: string]: Entity | OptionalType; }, force?: boolean): void; register(name: K, entity: Presets[K], force?: boolean): Entity; register(name: string, entity: Entity | OptionalType, force?: boolean): Entity; unregister(name: K): Entity | null; unregister(name: string): Entity | null; get(name: K): Entity | null; get(name: string): Entity | null; exist(name: K): boolean; exist(name: string): boolean; onDuplicated(name: string): void; onNotFound(name: string, prefix?: string): never; getSpellingSuggestion(name: string, prefix?: string): string; protected getSpellingSuggestionForName(name: string): string | undefined; } export declare namespace Registry { interface Options { type: string; data?: KeyValue; process?: >(this: Context, name: string, entity: Entity) => T; onConflict?: >(this: Context, name: string) => void; } } export declare namespace Registry { function create, OptionalType = never>(options: Options): Registry; }