import type { RpcProviderCapability, RpcProviderModel } from "@clinebot/shared";
import type { ProviderSettingsManager } from "../storage/provider-settings-manager";
export type StoredModelsFile = {
    version: 1;
    providers: Record<string, {
        provider: {
            name: string;
            baseUrl: string;
            defaultModelId?: string;
            capabilities?: RpcProviderCapability[];
            modelsSourceUrl?: string;
        };
        models: Record<string, {
            id: string;
            name: string;
            supportsVision?: boolean;
            supportsAttachments?: boolean;
            supportsReasoning?: boolean;
        }>;
    }>;
};
export declare function resolveModelsRegistryPath(manager: ProviderSettingsManager): string;
export declare function emptyModelsFile(): StoredModelsFile;
export declare function readModelsFileSync(filePath: string): StoredModelsFile;
export declare function readModelsFile(filePath: string): Promise<StoredModelsFile>;
export declare function writeModelsFileSync(filePath: string, state: StoredModelsFile): void;
export declare function writeModelsFile(filePath: string, state: StoredModelsFile): Promise<void>;
export declare function toRpcProviderModel(modelId: string, info: {
    name?: string;
    capabilities?: string[];
    thinkingConfig?: unknown;
}): RpcProviderModel;
export declare function registerCustomProvider(providerId: string, entry: StoredModelsFile["providers"][string]): void;
export declare function ensureCustomProvidersLoadedSync(manager: ProviderSettingsManager): void;
export declare function ensureCustomProvidersLoaded(manager: ProviderSettingsManager): Promise<void>;
//# sourceMappingURL=local-provider-registry.d.ts.map