import type { ModelsStore, ModelsStoreEntry } from "@earendil-works/pi-ai";
export interface CodingAgentModelsStore extends ModelsStore {
    writeIf(providerId: string, entry: ModelsStoreEntry, predicate: () => boolean): Promise<void>;
    deleteIf(providerId: string, predicate: () => boolean): Promise<void>;
}
export declare class InMemoryCodingAgentModelsStore implements CodingAgentModelsStore {
    private readonly entries;
    read(providerId: string): Promise<ModelsStoreEntry | undefined>;
    write(providerId: string, entry: ModelsStoreEntry): Promise<void>;
    delete(providerId: string): Promise<void>;
    writeIf(providerId: string, entry: ModelsStoreEntry, predicate: () => boolean): Promise<void>;
    deleteIf(providerId: string, predicate: () => boolean): Promise<void>;
}
/** Locked JSON-backed storage for dynamically refreshed provider catalogs. */
export declare class FileModelsStore implements CodingAgentModelsStore {
    private readonly storage;
    constructor(path?: string);
    private parse;
    read(providerId: string): Promise<ModelsStoreEntry | undefined>;
    write(providerId: string, entry: ModelsStoreEntry): Promise<void>;
    delete(providerId: string): Promise<void>;
    writeIf(providerId: string, entry: ModelsStoreEntry, predicate: () => boolean): Promise<void>;
    deleteIf(providerId: string, predicate: () => boolean): Promise<void>;
}
//# sourceMappingURL=models-store.d.ts.map