import { GptConfig } from '../models/GptConfig';
import { GptConfigsPersistence } from '../persistence/GptConfigsPersistence';
/**
 * This class manages GPT configs and is responsible for validation around
 * that context.
 */
export declare class GptConfigsManager {
    private readonly persistence;
    private constructor();
    static create(persistence: GptConfigsPersistence): Promise<GptConfigsManager>;
    /**
     * Attempt to save the given GPT config. Where possible, a zero-cost
     * request is attempted to be made with the GPT config before saving it.
     * If the zero-cost request is attempted and it fails, this method throws.
     */
    set(name: string, config: GptConfig): Promise<void>;
    /**
     * Fetch a GPT config by name.
     */
    get(name: string): Promise<GptConfig>;
    /**
     * Fetch all GPT configs.
     */
    getAll(): Promise<Map<string, GptConfig>>;
    /**
     * Delete a GPT config by name.
     */
    delete(name: string): Promise<void>;
    /**
     * Verifies the given GPT config and name or throws if they are invalid.
     */
    private verifyGptConfigOrThrow;
    /**
     * Inspects environment variables and legacy GPT platform keys files to
     * initialize default GPT configurations.
     */
    private initializeDefaultConfigurations;
}
//# sourceMappingURL=GptConfigsManager.d.ts.map