import { Option } from '../../option';
export type NodeSymbolIndex = string;
export declare enum SymbolKind {
    Schema = "Schema",
    Table = "Table",
    Column = "Column",
    TableGroup = "TableGroup",
    TableGroupField = "TableGroup field",
    Enum = "Enum",
    EnumField = "Enum field",
    Note = "Note",
    TablePartial = "TablePartial",
    TablePartialInjection = "TablePartialInjection"
}
export declare function createSchemaSymbolIndex(key: string): NodeSymbolIndex;
export declare function createTableSymbolIndex(key: string): NodeSymbolIndex;
export declare function createColumnSymbolIndex(key: string): NodeSymbolIndex;
export declare function createEnumSymbolIndex(key: string): NodeSymbolIndex;
export declare function createEnumFieldSymbolIndex(key: string): NodeSymbolIndex;
export declare function createTableGroupSymbolIndex(key: string): NodeSymbolIndex;
export declare function createTableGroupFieldSymbolIndex(key: string): NodeSymbolIndex;
export declare function createStickyNoteSymbolIndex(key: string): NodeSymbolIndex;
export declare function createTablePartialSymbolIndex(key: string): NodeSymbolIndex;
export declare function createTablePartialInjectionSymbolIndex(key: string): NodeSymbolIndex;
export declare function createNodeSymbolIndex(key: string, symbolKind: SymbolKind): NodeSymbolIndex;
export declare function destructureIndex(id: NodeSymbolIndex): Option<{
    name: string;
    kind: SymbolKind;
}>;
export declare function isPublicSchemaIndex(id: NodeSymbolIndex): boolean;
export declare function isInjectionIndex(id: NodeSymbolIndex): boolean;
export declare function getInjectorIndex(injectionNodeIndex: NodeSymbolIndex): NodeSymbolIndex | null;
