/**
 * @deprecated Rate limits are now managed in the Dashboard and stored in the database.
 * This type is kept for backwards compatibility during migration.
 */
export interface ProviderRateLimit {
    maxRequests: number;
    windowSeconds: number;
}
export interface ProviderConfig {
    apiKey: string;
    /** @deprecated Rate limits are now managed in the Dashboard. This field is ignored. */
    rateLimit?: ProviderRateLimit;
}
export interface ServerConfig {
    /** Dashboard port (default: 18800) */
    port?: number;
    /** LLM proxy port (default: 18900) */
    proxyPort?: number;
    /** Auto-open browser on start (default: true) */
    autoOpen?: boolean;
}
export interface DataConfig {
    /** Data retention period in days (default: 30) */
    retentionDays?: number;
}
export interface TelegramDefaults {
    botToken?: string;
    chatId?: string;
}
export interface WebhookDefaults {
    url?: string;
}
export interface EmailDefaults {
    host?: string;
    port?: number;
    secure?: boolean;
    user?: string;
    pass?: string;
    from?: string;
    to?: string;
}
export interface AlertDefaults {
    telegram?: TelegramDefaults;
    webhook?: WebhookDefaults;
    email?: EmailDefaults;
}
export interface AlertsConfig {
    defaults?: AlertDefaults;
}
export interface AgentGazerConfig {
    token: string;
    server?: ServerConfig;
    data?: DataConfig;
    alerts?: AlertsConfig;
    providers?: Record<string, ProviderConfig>;
}
export declare function getConfigDir(): string;
export declare function getConfigPath(): string;
export declare function getDbPath(): string;
export declare function ensureConfig(): AgentGazerConfig;
export declare function readConfig(): AgentGazerConfig | null;
export declare function saveConfig(config: AgentGazerConfig): void;
export declare function setProvider(name: string, providerConfig: ProviderConfig): AgentGazerConfig;
export declare function removeProvider(name: string): AgentGazerConfig;
export declare function listProviders(): Record<string, ProviderConfig>;
export declare function resetToken(): AgentGazerConfig;
export declare function getServerPort(config: AgentGazerConfig | null): number;
export declare function getProxyPort(config: AgentGazerConfig | null): number;
export declare function getAutoOpen(config: AgentGazerConfig | null): boolean;
export declare function getRetentionDays(config: AgentGazerConfig | null): number;
export declare function getAlertDefaults(config: AgentGazerConfig | null): AlertDefaults;
export declare function updateAlertDefaults(defaults: AlertDefaults): AgentGazerConfig;
//# sourceMappingURL=config.d.ts.map