export interface BridgeConfig {
    host: string;
    port: number;
    upstreamBaseUrl?: string;
    upstreamConnectHost?: string;
    upstreamConnectPort?: number;
    desktopMode: boolean;
    modelBaseUrl: string;
    modelApiKey: string;
    modelName: string;
    models: LocalModelConfig[];
    hardcodedResponse?: string;
    certPath?: string;
    keyPath?: string;
    tlsHostnames: string[];
    useTls: boolean;
    publicOrigin?: string;
    agentPublicOrigin?: string;
    desktopAgentHttpPort?: number;
    captureDir: string;
    captureEnabled: boolean;
    failOpen: boolean;
    logLevel: LogLevel;
    pluginPath?: string;
    authToken?: string;
    unsafeAllowNonLocalhost: boolean;
    maxInterceptBodyBytes: number;
    upstreamRequestTimeoutMs?: number;
    agentRunSseWaitTimeoutMs?: number;
    agentContextTimeoutMs?: number;
    agentNativeContextEnabled: boolean;
    toolResultTimeoutMs?: number;
    extensionSetupTimeoutMs?: number;
    routeInventoryEnabled: boolean;
    modelPayloadLogging: ModelPayloadLogging;
    agentToolPolicy: AgentToolPolicy;
    agentToolMaxIterations: number;
}
export type LogLevel = "debug" | "info" | "warn" | "error";
export type ModelPayloadLogging = "summary" | "full";
export type AgentToolPolicy = "safe" | "all";
export interface LocalModelConfig {
    id: string;
    displayName: string;
    providerModel: string;
    baseUrl: string;
    apiKey: string;
    contextTokenLimit: number;
    requestTimeoutMs?: number;
    hardcodedResponse?: string;
}
export declare function loadConfig(env?: NodeJS.ProcessEnv): BridgeConfig;
