import { z } from "zod";
export declare const DEFAULT_ALLOWED_ORIGINS: string[];
export declare const configSchema: z.ZodObject<{
    port: z.ZodPreprocess<z.ZodDefault<z.ZodCoercedNumber<unknown>>, unknown>;
    host: z.ZodPreprocess<z.ZodDefault<z.ZodString>, unknown>;
    nodeEnv: z.ZodDefault<z.ZodEnum<{
        development: "development";
        production: "production";
        test: "test";
    }>>;
    mcpServer: z.ZodPrefault<z.ZodObject<{
        name: z.ZodDefault<z.ZodString>;
        version: z.ZodDefault<z.ZodString>;
    }, z.core.$strip>>;
    allowedHosts: z.ZodDefault<z.ZodPreprocess<z.ZodArray<z.ZodString>, unknown>>;
    allowedOrigins: z.ZodDefault<z.ZodPreprocess<z.ZodArray<z.ZodString>, unknown>>;
    ankiConnect: z.ZodObject<{
        url: z.ZodPreprocess<z.ZodDefault<z.ZodString>, unknown>;
        apiKey: z.ZodOptional<z.ZodString>;
        apiVersion: z.ZodPreprocess<z.ZodDefault<z.ZodCoercedNumber<unknown>>, unknown>;
        timeout: z.ZodPreprocess<z.ZodDefault<z.ZodCoercedNumber<unknown>>, unknown>;
    }, z.core.$strip>;
    auth: z.ZodObject<{
        clientId: z.ZodDefault<z.ZodString>;
    }, z.core.$strip>;
    tunnel: z.ZodObject<{
        serverUrl: z.ZodPreprocess<z.ZodDefault<z.ZodString>, unknown>;
    }, z.core.$strip>;
    readOnly: z.ZodDefault<z.ZodPreprocess<z.ZodBoolean, unknown>>;
    logLevel: z.ZodDefault<z.ZodEnum<{
        error: "error";
        debug: "debug";
        info: "info";
        warn: "warn";
    }>>;
}, z.core.$strip>;
export type AppConfig = z.infer<typeof configSchema>;
export declare function transformEnvToConfig(env: Record<string, any>): any;
