export type MetadataType = string;
export type MetadataCategory = string;
export type MetadataEntry = {
    apiName: string;
    type: MetadataType;
    path: string;
    category?: MetadataCategory;
    dependencies?: string[];
    dependents?: string[];
    fields?: string[];
    methods?: string[];
    label?: string;
    description?: string;
};
export type MetadataIndex = {
    version?: string;
    generated?: string;
    entries: MetadataEntry[];
};
export type IndexMaps = {
    byApiName: Map<string, MetadataEntry>;
    byPath: Map<string, MetadataEntry>;
    byType: Map<string, MetadataEntry[]>;
};
export declare function loadIndex(workspaceRoot: string): boolean;
export declare function watchIndex(workspaceRoot: string, onChange: () => void): void;
export declare function unwatchIndex(): void;
export declare function isIndexLoaded(): boolean;
export declare function getEntry(apiName: string): MetadataEntry | undefined;
export declare function getEntriesByType(type: MetadataType): MetadataEntry[];
export declare function findByPath(path: string): MetadataEntry | undefined;
export declare function getAllEntries(): MetadataEntry[];
export declare function getAllApiNames(): string[];
export declare function getApiNamesByType(type: MetadataType): string[];
export declare function searchEntries(prefix: string): MetadataEntry[];
