/**
 * Cline SDK Configuration System
 * Handles API keys, settings, and tool configurations
 */
export interface ClineConfig {
    apiProvider: "anthropic" | "openai" | "openrouter" | "ollama";
    apiKey?: string;
    apiBaseUrl?: string;
    model?: string;
    enabledTools: string[];
    enableCustomFunctions: boolean;
    enableDatabase: boolean;
    maxRequestsPerTask: number;
    timeout: number;
    storageType: "local" | "supabase";
    workingDirectory: string;
    alwaysAllowReadOnly: boolean;
    supabase?: {
        url: string;
        anonKey: string;
        serviceKey?: string;
        bucketName: string;
        projectPath?: string;
    };
    database?: {
        host: string;
        port: number;
        database: string;
        username: string;
        password: string;
        ssl?: boolean | object;
        maxConnections?: number;
        idleTimeoutMillis?: number;
        connectionTimeoutMillis?: number;
        permissions: {
            allowRead: boolean;
            allowWrite: boolean;
            allowDelete: boolean;
            allowSchemaChanges: boolean;
            allowRLSManagement: boolean;
            restrictedTables: string[];
            allowedTables: string[];
        };
    };
    customInstructions?: string;
    temperature?: number;
    maxTokens?: number;
    useCache?: boolean;
    retry?: {
        enabled: boolean;
        maxAttempts: number;
        waitTimeMs: number;
        exponentialBackoff: boolean;
        retryOnErrors: string[];
    };
}
export declare class ClineConfigManager {
    private configPath;
    private config;
    constructor(configDir?: string);
    private loadConfig;
    private getDefaultConfig;
    getConfig(): ClineConfig;
    updateConfig(updates: Partial<ClineConfig>): void;
    setApiKey(apiKey: string): void;
    setWorkingDirectory(directory: string): void;
    enableTool(toolName: string): void;
    disableTool(toolName: string): void;
    private saveConfig;
    getConfigPath(): string;
    validateConfig(): {
        valid: boolean;
        errors: string[];
    };
    static fromEnvironment(): ClineConfigManager;
}
//# sourceMappingURL=cline-config.d.ts.map