import { ProcessConfig } from '../types/mcp.js';
interface ServerConfig {
    port: number;
    host: string;
    nodeEnv: string;
    corsOrigins: string[];
    modes: {
        http: boolean;
        mcp: boolean;
        mcpPort?: number;
    };
}
interface SessionConfig {
    timeoutMinutes: number;
    cleanupIntervalMinutes: number;
    maxConcurrentSessions: number;
}
interface LoggingConfig {
    level: string;
    file: string;
    maxFiles: number;
    maxSize: string;
}
interface CorsConfig {
    origin: string | string[];
}
interface DatabaseConfig {
    mainUri: string;
    mcpUri: string;
    mongoUri: string;
    options: {
        maxPoolSize: number;
        serverSelectionTimeoutMS: number;
        socketTimeoutMS: number;
    };
}
interface ApiKeyConfig {
    user: {
        openai?: string;
        anthropic?: string;
        google?: string;
        deepseek?: string;
        xai?: string;
        mistral?: string;
        brave?: string;
    };
    tryaii: {
        openai?: string;
        anthropic?: string;
        google?: string;
        deepseek?: string;
        xai?: string;
        mistral?: string;
        brave?: string;
    };
}
interface HttpConfig {
    baseURL: string;
    timeout: number;
    maxRetries: number;
    retryDelay: number;
    maxConcurrentRequests: number;
    healthCheckInterval: number;
}
interface Config {
    server: ServerConfig;
    mcp: ProcessConfig;
    http: HttpConfig;
    session: SessionConfig;
    logging: LoggingConfig;
    cors: CorsConfig;
    database: DatabaseConfig;
    apiKeys: ApiKeyConfig;
}
export declare const config: Config;
export declare const getConfigSummary: () => string;
export declare const validateConfig: () => void;
export {};
//# sourceMappingURL=config.d.ts.map