import { z } from 'zod'; type PathJoiner = (...paths: string[]) => string; type StoragePathConfig = { DATA_DIR: string; SQLITE_PATH?: string; ARTIFACT_DIR?: string; CACHE_DIR?: string; }; export declare function deriveStoragePaths(config: T, joinPath?: PathJoiner): T & { SQLITE_PATH: string; ARTIFACT_DIR: string; CACHE_DIR: string; }; export declare function getEnvironmentVariableNames(): readonly string[]; export declare const EnvSchema: z.ZodPipe>; LOG_LEVEL: z.ZodDefault>; TOOL_PROFILE: z.ZodDefault>; TOOL_SCOPES: z.ZodDefault; MCP_PROTOCOL_VERSION: z.ZodDefault; MCP_BRIDGE_BACKEND: z.ZodDefault>; MCP_REMOTE_SESSION_ID: z.ZodDefault; TRANSPORT: z.ZodDefault>; HTTP_HOST: z.ZodDefault; HTTP_PORT: z.ZodDefault>; HTTP_AUTH_DISABLED: z.ZodDefault, z.ZodTransform>>; HTTP_RATE_LIMIT_MAX: z.ZodDefault>; CORS_ORIGIN: z.ZodDefault; ALLOWED_ORIGINS: z.ZodDefault; MCP_TASKS_ENABLED: z.ZodDefault, z.ZodTransform>>; MCP_APPS_ENABLED: z.ZodDefault, z.ZodTransform>>; MCP_V2_EXPERIMENTAL: z.ZodDefault, z.ZodTransform>>; MCP_RAW_EXEC_EXPERIMENTAL: z.ZodDefault, z.ZodTransform>>; BRIDGE_HOST: z.ZodDefault; BRIDGE_PORT: z.ZodDefault>; BRIDGE_PORT_SCAN: z.ZodDefault; BRIDGE_TIMEOUT_MS: z.ZodDefault>; BRIDGE_HEARTBEAT_MS: z.ZodDefault>; BRIDGE_WAIT_FOR_EDA_MS: z.ZodDefault>; BRIDGE_MAX_PAYLOAD_SIZE: z.ZodDefault>; BRIDGE_TOKEN: z.ZodDefault; EASYEDA_DEV_BRIDGE: z.ZodDefault, z.ZodTransform>>; BRIDGE_RAW_EXEC_ENABLED: z.ZodDefault, z.ZodTransform>>; BRIDGE_HOT_SWAP_ENABLED: z.ZodDefault, z.ZodTransform>>; BRIDGE_HOT_SWAP_WATCH: z.ZodDefault; BRIDGE_HOT_SWAP_CHUNK_BYTES: z.ZodDefault>; DATA_DIR: z.ZodDefault; SQLITE_PATH: z.ZodOptional; ARTIFACT_DIR: z.ZodOptional; CACHE_DIR: z.ZodOptional; AI_PROVIDER: z.ZodDefault>; AI_MODEL: z.ZodDefault; AI_API_KEY: z.ZodDefault; AI_MAX_TOKENS: z.ZodDefault>; AI_TIMEOUT_MS: z.ZodDefault>; AI_ALLOW_DESIGN_MUTATIONS: z.ZodDefault, z.ZodTransform>>; JLCPCB_MODE: z.ZodDefault>; JLCPCB_CLIENT_ID: z.ZodDefault; JLCPCB_CLIENT_SECRET: z.ZodDefault; JLCPCB_API_BASE_URL: z.ZodDefault; JLCPCB_ENABLE_ORDERING: z.ZodDefault, z.ZodTransform>>; JLCSEARCH_ENABLED: z.ZodDefault, z.ZodTransform>>; JLCSEARCH_BASE_URL: z.ZodDefault; LCSC_API_KEY: z.ZodDefault; KEYLESS_SOURCING_ENABLED: z.ZodDefault, z.ZodTransform>>; SOURCING_CACHE_TTL_SECONDS: z.ZodDefault>; VENDOR_MIN_REQUEST_INTERVAL_MS: z.ZodDefault>; MOUSER_ENABLED: z.ZodDefault, z.ZodTransform>>; MOUSER_API_KEY: z.ZodDefault; MOUSER_API_BASE_URL: z.ZodDefault; DIGIKEY_ENABLED: z.ZodDefault, z.ZodTransform>>; DIGIKEY_CLIENT_ID: z.ZodDefault; DIGIKEY_CLIENT_SECRET: z.ZodDefault; DIGIKEY_SANDBOX: z.ZodDefault, z.ZodTransform>>; DIGIKEY_LOCALE: z.ZodDefault; DIGIKEY_CURRENCY: z.ZodDefault; OAUTH_ENABLED: z.ZodDefault, z.ZodTransform>>; OAUTH_ISSUER: z.ZodDefault; OAUTH_AUDIENCE: z.ZodDefault; OAUTH_JWKS_URI: z.ZodDefault; OAUTH_REQUIRED_SCOPES: z.ZodDefault; OTEL_ENABLED: z.ZodDefault, z.ZodTransform>>; OTEL_SERVICE_NAME: z.ZodDefault; OTEL_EXPORTER_OTLP_ENDPOINT: z.ZodDefault; TRACE_SAMPLE_RATE: z.ZodDefault>; }, z.core.$strip>, z.ZodTransform<{ NODE_ENV: "development" | "test" | "production"; LOG_LEVEL: "trace" | "debug" | "info" | "warn" | "error" | "fatal" | "silent"; TOOL_PROFILE: "core" | "pro" | "full" | "dev" | "experimental"; TOOL_SCOPES: string; MCP_PROTOCOL_VERSION: string; MCP_BRIDGE_BACKEND: "local_bridge" | "remote_relay"; MCP_REMOTE_SESSION_ID: string; TRANSPORT: "stdio" | "http"; HTTP_HOST: string; HTTP_PORT: number; HTTP_AUTH_DISABLED: boolean; HTTP_RATE_LIMIT_MAX: number; CORS_ORIGIN: string; ALLOWED_ORIGINS: string; MCP_TASKS_ENABLED: boolean; MCP_APPS_ENABLED: boolean; MCP_V2_EXPERIMENTAL: boolean; MCP_RAW_EXEC_EXPERIMENTAL: boolean; BRIDGE_HOST: string; BRIDGE_PORT: number; BRIDGE_PORT_SCAN: string; BRIDGE_TIMEOUT_MS: number; BRIDGE_HEARTBEAT_MS: number; BRIDGE_WAIT_FOR_EDA_MS: number; BRIDGE_MAX_PAYLOAD_SIZE: number; BRIDGE_TOKEN: string; EASYEDA_DEV_BRIDGE: boolean; BRIDGE_RAW_EXEC_ENABLED: boolean; BRIDGE_HOT_SWAP_ENABLED: boolean; BRIDGE_HOT_SWAP_WATCH: string; BRIDGE_HOT_SWAP_CHUNK_BYTES: number; DATA_DIR: string; AI_PROVIDER: "none" | "anthropic" | "openai" | "openrouter" | "local"; AI_MODEL: string; AI_API_KEY: string; AI_MAX_TOKENS: number; AI_TIMEOUT_MS: number; AI_ALLOW_DESIGN_MUTATIONS: boolean; JLCPCB_MODE: "disabled" | "mock" | "approved_api"; JLCPCB_CLIENT_ID: string; JLCPCB_CLIENT_SECRET: string; JLCPCB_API_BASE_URL: string; JLCPCB_ENABLE_ORDERING: boolean; JLCSEARCH_ENABLED: boolean; JLCSEARCH_BASE_URL: string; LCSC_API_KEY: string; KEYLESS_SOURCING_ENABLED: boolean; SOURCING_CACHE_TTL_SECONDS: number; VENDOR_MIN_REQUEST_INTERVAL_MS: number; MOUSER_ENABLED: boolean; MOUSER_API_KEY: string; MOUSER_API_BASE_URL: string; DIGIKEY_ENABLED: boolean; DIGIKEY_CLIENT_ID: string; DIGIKEY_CLIENT_SECRET: string; DIGIKEY_SANDBOX: boolean; DIGIKEY_LOCALE: string; DIGIKEY_CURRENCY: string; OAUTH_ENABLED: boolean; OAUTH_ISSUER: string; OAUTH_AUDIENCE: string; OAUTH_JWKS_URI: string; OAUTH_REQUIRED_SCOPES: string; OTEL_ENABLED: boolean; OTEL_SERVICE_NAME: string; OTEL_EXPORTER_OTLP_ENDPOINT: string; TRACE_SAMPLE_RATE: number; SQLITE_PATH?: string | undefined; ARTIFACT_DIR?: string | undefined; CACHE_DIR?: string | undefined; } & { SQLITE_PATH: string; ARTIFACT_DIR: string; CACHE_DIR: string; }, { NODE_ENV: "development" | "test" | "production"; LOG_LEVEL: "trace" | "debug" | "info" | "warn" | "error" | "fatal" | "silent"; TOOL_PROFILE: "core" | "pro" | "full" | "dev" | "experimental"; TOOL_SCOPES: string; MCP_PROTOCOL_VERSION: string; MCP_BRIDGE_BACKEND: "local_bridge" | "remote_relay"; MCP_REMOTE_SESSION_ID: string; TRANSPORT: "stdio" | "http"; HTTP_HOST: string; HTTP_PORT: number; HTTP_AUTH_DISABLED: boolean; HTTP_RATE_LIMIT_MAX: number; CORS_ORIGIN: string; ALLOWED_ORIGINS: string; MCP_TASKS_ENABLED: boolean; MCP_APPS_ENABLED: boolean; MCP_V2_EXPERIMENTAL: boolean; MCP_RAW_EXEC_EXPERIMENTAL: boolean; BRIDGE_HOST: string; BRIDGE_PORT: number; BRIDGE_PORT_SCAN: string; BRIDGE_TIMEOUT_MS: number; BRIDGE_HEARTBEAT_MS: number; BRIDGE_WAIT_FOR_EDA_MS: number; BRIDGE_MAX_PAYLOAD_SIZE: number; BRIDGE_TOKEN: string; EASYEDA_DEV_BRIDGE: boolean; BRIDGE_RAW_EXEC_ENABLED: boolean; BRIDGE_HOT_SWAP_ENABLED: boolean; BRIDGE_HOT_SWAP_WATCH: string; BRIDGE_HOT_SWAP_CHUNK_BYTES: number; DATA_DIR: string; AI_PROVIDER: "none" | "anthropic" | "openai" | "openrouter" | "local"; AI_MODEL: string; AI_API_KEY: string; AI_MAX_TOKENS: number; AI_TIMEOUT_MS: number; AI_ALLOW_DESIGN_MUTATIONS: boolean; JLCPCB_MODE: "disabled" | "mock" | "approved_api"; JLCPCB_CLIENT_ID: string; JLCPCB_CLIENT_SECRET: string; JLCPCB_API_BASE_URL: string; JLCPCB_ENABLE_ORDERING: boolean; JLCSEARCH_ENABLED: boolean; JLCSEARCH_BASE_URL: string; LCSC_API_KEY: string; KEYLESS_SOURCING_ENABLED: boolean; SOURCING_CACHE_TTL_SECONDS: number; VENDOR_MIN_REQUEST_INTERVAL_MS: number; MOUSER_ENABLED: boolean; MOUSER_API_KEY: string; MOUSER_API_BASE_URL: string; DIGIKEY_ENABLED: boolean; DIGIKEY_CLIENT_ID: string; DIGIKEY_CLIENT_SECRET: string; DIGIKEY_SANDBOX: boolean; DIGIKEY_LOCALE: string; DIGIKEY_CURRENCY: string; OAUTH_ENABLED: boolean; OAUTH_ISSUER: string; OAUTH_AUDIENCE: string; OAUTH_JWKS_URI: string; OAUTH_REQUIRED_SCOPES: string; OTEL_ENABLED: boolean; OTEL_SERVICE_NAME: string; OTEL_EXPORTER_OTLP_ENDPOINT: string; TRACE_SAMPLE_RATE: number; SQLITE_PATH?: string | undefined; ARTIFACT_DIR?: string | undefined; CACHE_DIR?: string | undefined; }>>; export type EnvConfig = z.infer; export declare function detectUnknownEnvVars(env: Record): string[]; export declare function loadEnvConfig(): EnvConfig; export declare function getBridgePairingConfigIssue(config: EnvConfig): string | undefined; export declare function getHttpSecurityConfigIssues(config: EnvConfig): string[]; export declare function validateSafeConfig(config: EnvConfig): void; export {};