export interface AppConfig {
    role: 'main' | 'secondary';
    host: string;
    port: number;
    workspaceRoot: string;
    shell: string;
    statePath: string;
    sessionSecret: string;
    sessionTtlMs: number;
    cookieSecure: boolean;
    allowedOrigins: string[];
    staticRoot: string;
    isProduction: boolean;
    agentToken: string | null;
    trustProxy: boolean | string;
    uploadMaxFiles: number;
    uploadMaxFileBytes: number;
    uploadMaxBatchBytes: number;
    fileListMaxEntries: number;
    fileTextMaxBytes: number;
    filePreviewMaxBytes: number;
}
export interface ConfigEnv {
    [key: string]: string | undefined;
}
export declare function loadDotEnvFile(filePath?: string, baseEnv?: ConfigEnv): ConfigEnv;
export declare function loadConfig(env?: ConfigEnv): AppConfig;
export declare function isAllowedOrigin(config: Pick<AppConfig, 'allowedOrigins'>, origin: string | undefined): boolean;
