import { ApplicationStateService } from './application-state.service';
import { SetWebsocketEnabledDto } from './dto/set-websocket-enabled.dto';
import { SetThemeDto } from './dto/set-theme.dto';
import { SetAutoContextFetchEnabledDto } from './dto/set-auto-context-fetch-enabled.dto';
import { SetContextTokenLimitDto } from './dto/set-context-token-limit.dto';
import { SetExecutionStrategyDto } from './dto/set-execution-strategy.dto';
import { SetYoloModeDto } from './dto/set-yolo-mode.dto';
import { SetOpenrouterConfigDto } from './dto/set-openrouter-config.dto';
import { SetZaiConfigDto } from './dto/set-zai-config.dto';
import { SetAlibabaConfigDto } from './dto/set-alibaba-config.dto';
import { SetOllamaConfigDto } from './dto/set-ollama-config.dto';
import { SetOpenaiConfigDto } from './dto/set-openai-config.dto';
import { SetStreamingEnabledDto } from './dto/set-streaming-enabled.dto';
import { SetToolsEnabledDto } from './dto/set-tools-enabled.dto';
import { SetYoloModeMessageDto } from './dto/set-yolo-mode-message.dto';
import { SetSyntaxValidationEnabledDto } from './dto/set-syntax-validation-enabled.dto';
import { SetFollowupTokenLimitDto } from './dto/set-followup-token-limit.dto';
import { SetHistoryCompressionEnabledDto } from './dto/set-history-compression-enabled.dto';
import { SetLlmRetryEnabledDto } from './dto/set-llm-retry-enabled.dto';
import { SetLlmRetryMaxAttemptsDto } from './dto/set-llm-retry-max-attempts.dto';
import { SetNotificationsEnabledDto } from './dto/set-notifications-enabled.dto';
export declare class ApplicationStateController {
    private readonly applicationStateService;
    constructor(applicationStateService: ApplicationStateService);
    getEffectiveSettings(): Promise<Record<string, import("./application-state.service").SettingWithSource<unknown>>>;
    getProjectOverrides(): Promise<{
        overrides: Record<string, string>;
    }>;
    clearOverride(key: string): Promise<void>;
    getWebsocketEnabled(): Promise<{
        enabled: boolean;
        source: import("./application-state.service").SettingSource;
    }>;
    setWebsocketEnabled(dto: SetWebsocketEnabledDto): Promise<void>;
    getAutoContextFetchEnabled(): Promise<{
        enabled: boolean;
        source: import("./application-state.service").SettingSource;
    }>;
    setAutoContextFetchEnabled(dto: SetAutoContextFetchEnabledDto): Promise<void>;
    getYoloModeEnabled(): Promise<{
        enabled: boolean;
        source: import("./application-state.service").SettingSource;
    }>;
    setYoloModeEnabled(dto: SetYoloModeDto): Promise<void>;
    getExecutionStrategy(): Promise<{
        strategy: string;
        source: import("./application-state.service").SettingSource;
    }>;
    setExecutionStrategy(dto: SetExecutionStrategyDto): Promise<void>;
    getTheme(): Promise<{
        theme: string;
    }>;
    setTheme(dto: SetThemeDto): Promise<void>;
    getContextTokenLimit(): Promise<{
        limit: number;
        source: import("./application-state.service").SettingSource;
    }>;
    setContextTokenLimit(dto: SetContextTokenLimitDto): Promise<void>;
    getOpenrouterConfig(): Promise<{
        apiKey: string;
        source: import("./application-state.service").SettingSource;
    }>;
    setOpenrouterConfig(dto: SetOpenrouterConfigDto): Promise<void>;
    getZaiConfig(): Promise<{
        apiKey: string;
        source: import("./application-state.service").SettingSource;
    }>;
    setZaiConfig(dto: SetZaiConfigDto): Promise<void>;
    getAlibabaConfig(): Promise<{
        apiKey: string;
        source: import("./application-state.service").SettingSource;
    }>;
    setAlibabaConfig(dto: SetAlibabaConfigDto): Promise<void>;
    getOllamaConfig(): Promise<{
        apiKey: string;
        source: import("./application-state.service").SettingSource;
    }>;
    setOllamaConfig(dto: SetOllamaConfigDto): Promise<void>;
    getOpenaiConfig(): Promise<{
        apiKey: string;
        apiKeySource: import("./application-state.service").SettingSource;
        baseUrl: string;
        baseUrlSource: import("./application-state.service").SettingSource;
    }>;
    setOpenaiConfig(dto: SetOpenaiConfigDto): Promise<void>;
    getRecentModels(): Promise<{
        models: string[];
    }>;
    getStreamingEnabled(): Promise<{
        enabled: boolean;
        source: import("./application-state.service").SettingSource;
    }>;
    setStreamingEnabled(dto: SetStreamingEnabledDto): Promise<void>;
    getToolsEnabled(): Promise<{
        enabled: boolean;
        source: import("./application-state.service").SettingSource;
    }>;
    setToolsEnabled(dto: SetToolsEnabledDto): Promise<void>;
    getYoloModeMessage(): Promise<{
        message: string;
        source: import("./application-state.service").SettingSource;
    }>;
    setYoloModeMessage(dto: SetYoloModeMessageDto): Promise<void>;
    getSyntaxValidationEnabled(): Promise<{
        enabled: boolean;
        source: import("./application-state.service").SettingSource;
    }>;
    setSyntaxValidationEnabled(dto: SetSyntaxValidationEnabledDto): Promise<void>;
    getFollowupTokenLimit(): Promise<{
        limit: number;
        source: import("./application-state.service").SettingSource;
    }>;
    setFollowupTokenLimit(dto: SetFollowupTokenLimitDto): Promise<void>;
    getHistoryCompressionEnabled(): Promise<{
        enabled: boolean;
        source: import("./application-state.service").SettingSource;
    }>;
    setHistoryCompressionEnabled(dto: SetHistoryCompressionEnabledDto): Promise<void>;
    getLlmRetryEnabled(): Promise<{
        enabled: boolean;
        source: import("./application-state.service").SettingSource;
    }>;
    setLlmRetryEnabled(dto: SetLlmRetryEnabledDto): Promise<void>;
    getLlmRetryMaxAttempts(): Promise<{
        attempts: number;
        source: import("./application-state.service").SettingSource;
    }>;
    setLlmRetryMaxAttempts(dto: SetLlmRetryMaxAttemptsDto): Promise<void>;
    getNotificationsEnabled(): Promise<{
        enabled: boolean;
        source: import("./application-state.service").SettingSource;
    }>;
    setNotificationsEnabled(dto: SetNotificationsEnabledDto): Promise<void>;
}
