import type { IIndexer } from "@synet/patterns/storage/promises";
interface IndexEntry {
    id: string;
    alias: string;
}
export declare class FileIndexer implements IIndexer<IndexEntry> {
    private readonly directory;
    private readonly indexPath;
    private indexCache;
    constructor(directory: string);
    exists(): Promise<boolean>;
    create(entry: IndexEntry): Promise<void>;
    get(idOrAlias: string): Promise<IndexEntry | null>;
    find(keyword: string): Promise<IndexEntry | null>;
    delete(idOrAlias: string): Promise<boolean>;
    list(): Promise<IndexEntry[]>;
    rebuild(entries: IndexEntry[]): Promise<void>;
    private loadIndex;
    private saveIndex;
}
export {};
