import { z } from 'zod/v4'; export declare const ConfigObject: z.ZodObject<{ log: z.ZodOptional; error: z.ZodOptional; loglevel: z.ZodOptional>; dnsLog: z.ZodOptional; maskAddress: z.ZodOptional>; }, z.core.$strip>>; api: z.ZodOptional; services: z.ZodArray>; }, z.core.$strip>>; dns: z.ZodOptional]>>>; servers: z.ZodArray; domains: z.ZodOptional>; expectIPs: z.ZodOptional>; skipFallback: z.ZodOptional; clientIP: z.ZodOptional; }, z.core.$strip>]>>; clientIp: z.ZodOptional; queryStrategy: z.ZodOptional>; disableCache: z.ZodOptional; disableFallback: z.ZodOptional; disableFallbackIfMatch: z.ZodOptional; tag: z.ZodOptional; }, z.core.$strip>>; routing: z.ZodOptional>; domainMatcher: z.ZodOptional>; rules: z.ZodOptional>; type: z.ZodLiteral<"field">; domain: z.ZodOptional>; ip: z.ZodOptional>; port: z.ZodOptional>; sourcePort: z.ZodOptional>; network: z.ZodOptional>; source: z.ZodOptional>; user: z.ZodOptional>; inboundTag: z.ZodOptional>; protocol: z.ZodOptional>>; attrs: z.ZodOptional>; outboundTag: z.ZodOptional; balancerTag: z.ZodOptional; }, z.core.$strip>>>; balancers: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>>; policy: z.ZodOptional; connIdle: z.ZodOptional; uplinkOnly: z.ZodOptional; downlinkOnly: z.ZodOptional; statsUserUplink: z.ZodOptional; statsUserDownlink: z.ZodOptional; bufferSize: z.ZodOptional; }, z.core.$strip>>>; system: z.ZodOptional; statsInboundDownlink: z.ZodOptional; statsOutboundUplink: z.ZodOptional; statsOutboundDownlink: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; inbounds: z.ZodOptional; port: z.ZodUnion; streamSettings: z.ZodOptional; tcpFastOpen: z.ZodOptional>; tproxy: z.ZodOptional>; domainStrategy: z.ZodOptional>; dialerProxy: z.ZodOptional; acceptProxyProtocol: z.ZodOptional; tcpKeepAliveInterval: z.ZodOptional; tcpCongestion: z.ZodOptional; interface: z.ZodOptional; tcpMptcp: z.ZodOptional; tcpNoDelay: z.ZodOptional; customSockopt: z.ZodArray; level: z.ZodOptional; opt: z.ZodString; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"int">; level: z.ZodOptional; opt: z.ZodString; value: z.ZodNumber; }, z.core.$strip>]>>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodOptional>; tcpSettings: z.ZodObject<{ acceptProxyProtocol: z.ZodOptional; header: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodOptional>; request: z.ZodOptional; method: z.ZodOptional; path: z.ZodOptional>; headers: z.ZodOptional>>; }, z.core.$strip>>; response: z.ZodOptional; status: z.ZodOptional; reason: z.ZodOptional; headers: z.ZodOptional>>; }, z.core.$strip>>; }, z.core.$strip>]>>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ network: z.ZodLiteral<"kcp">; kcpSettings: z.ZodObject<{ mtu: z.ZodOptional; tti: z.ZodOptional; uplinkCapacity: z.ZodOptional; downlinkCapacity: z.ZodOptional; congestion: z.ZodOptional; readBufferSize: z.ZodOptional; writeBufferSize: z.ZodOptional; header: z.ZodOptional>; }, z.core.$strip>>; seed: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ network: z.ZodLiteral<"ws">; wsSettings: z.ZodObject<{ acceptProxyProtocol: z.ZodOptional; path: z.ZodOptional; host: z.ZodOptional; headers: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ network: z.ZodLiteral<"http">; httpSettings: z.ZodObject<{ host: z.ZodOptional>; path: z.ZodOptional; read_idle_timeout: z.ZodOptional; health_check_timeout: z.ZodOptional; method: z.ZodOptional>; headers: z.ZodOptional>>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ network: z.ZodLiteral<"grpc">; grpcSettings: z.ZodObject<{ serviceName: z.ZodString; multiMode: z.ZodOptional; idle_timeout: z.ZodOptional; health_check_timeout: z.ZodOptional; permit_without_stream: z.ZodOptional; initial_windows_size: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ network: z.ZodLiteral<"httpupgrade">; httpupgradeSettings: z.ZodObject<{ acceptProxyProtocol: z.ZodOptional; path: z.ZodOptional; host: z.ZodOptional; headers: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ network: z.ZodLiteral<"splithttp">; splithttpSettings: z.ZodObject<{ path: z.ZodOptional; host: z.ZodOptional; headers: z.ZodOptional>; scMaxEachPostBytes: z.ZodOptional>; scMaxConcurrentPosts: z.ZodOptional>; scMinPostsIntervalMs: z.ZodOptional>; noSSEHeader: z.ZodOptional; xPaddingBytes: z.ZodOptional>; xmux: z.ZodOptional>; maxConnections: z.ZodOptional>; cMaxReuseTimes: z.ZodOptional>; cMaxLifetimeMs: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>; }, z.core.$strip>]>>>, z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ security: z.ZodLiteral<"tls">; tlsSettings: z.ZodOptional; rejectUnknownSni: z.ZodOptional; alpn: z.ZodOptional>; minVersion: z.ZodOptional>; maxVersion: z.ZodOptional>; cipherSuites: z.ZodOptional>; allowInsecure: z.ZodOptional; disableSystemRoot: z.ZodOptional; enableSessionResumption: z.ZodOptional; fingerprint: z.ZodOptional; pinnedPeerCertificateChainSha256: z.ZodOptional>; certificates: z.ZodOptional; oneTimeLoading: z.ZodOptional; usage: z.ZodOptional>; buildChain: z.ZodOptional; certificateFile: z.ZodOptional; certificate: z.ZodOptional>; keyFile: z.ZodOptional; key: z.ZodOptional>; }, z.core.$strip>>>; masterKeyLog: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ security: z.ZodLiteral<"reality">; realitySettings: z.ZodOptional; dest: z.ZodString; xver: z.ZodOptional; serverNames: z.ZodArray; privateKey: z.ZodString; minClientVer: z.ZodOptional; maxClientVer: z.ZodOptional; maxTimeDiff: z.ZodOptional; shortIds: z.ZodArray; serverName: z.ZodOptional; fingerprint: z.ZodString; shortId: z.ZodOptional; publicKey: z.ZodString; spiderX: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>]>>>>; tag: z.ZodOptional; sniffing: z.ZodOptional; destOverride: z.ZodOptional>>; metadataOnly: z.ZodOptional; domainsExcluded: z.ZodOptional>; routeOnly: z.ZodOptional; }, z.core.$strip>>; allocate: z.ZodOptional>; refresh: z.ZodOptional; concurrency: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>, z.ZodUnion; settings: z.ZodObject<{ address: z.ZodString; port: z.ZodOptional; network: z.ZodOptional>; followRedirect: z.ZodOptional; userLevel: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ protocol: z.ZodLiteral<"http">; settings: z.ZodObject<{ accounts: z.ZodOptional>>; allowTransparent: z.ZodOptional; userLevel: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ protocol: z.ZodLiteral<"shadowsocks">; settings: z.ZodObject<{ clients: z.ZodOptional>; password: z.ZodString; level: z.ZodOptional; email: z.ZodOptional; }, z.core.$strip>>>; password: z.ZodString; method: z.ZodEnum<{ none: "none"; "2022-blake3-aes-128-gcm": "2022-blake3-aes-128-gcm"; "2022-blake3-aes-256-gcm": "2022-blake3-aes-256-gcm"; "2022-blake3-chacha20-poly1305": "2022-blake3-chacha20-poly1305"; "aes-256-gcm": "aes-256-gcm"; "aes-128-gcm": "aes-128-gcm"; "chacha20-poly1305": "chacha20-poly1305"; "chacha20-ietf-poly1305": "chacha20-ietf-poly1305"; "xchacha20-poly1305": "xchacha20-poly1305"; "xchacha20-ietf-poly1305": "xchacha20-ietf-poly1305"; plain: "plain"; }>; level: z.ZodOptional; email: z.ZodOptional; network: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ protocol: z.ZodLiteral<"vless">; settings: z.ZodObject<{ clients: z.ZodArray; email: z.ZodOptional; flow: z.ZodOptional; }, z.core.$strip>>; decryption: z.ZodLiteral<"none">; fallbacks: z.ZodOptional; alpn: z.ZodOptional; path: z.ZodOptional; dest: z.ZodUnion; xver: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ protocol: z.ZodLiteral<"vmess">; settings: z.ZodObject<{ clients: z.ZodArray>; password: z.ZodString; level: z.ZodOptional; email: z.ZodOptional; }, z.core.$strip>>; detour: z.ZodOptional>; default: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ protocol: z.ZodLiteral<"trojan">; settings: z.ZodObject<{ clients: z.ZodArray>; password: z.ZodString; level: z.ZodOptional; email: z.ZodOptional; }, z.core.$strip>>; fallbacks: z.ZodOptional; alpn: z.ZodOptional; path: z.ZodOptional; dest: z.ZodUnion; xver: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ protocol: z.ZodLiteral<"wireguard">; settings: z.ZodObject<{ secretKey: z.ZodString; peers: z.ZodArray; }, z.core.$strip>>; kernelMode: z.ZodOptional; mtu: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>]>>>>; outbounds: z.ZodOptional; tag: z.ZodString; streamSettings: z.ZodOptional; tcpFastOpen: z.ZodOptional>; tproxy: z.ZodOptional>; domainStrategy: z.ZodOptional>; dialerProxy: z.ZodOptional; acceptProxyProtocol: z.ZodOptional; tcpKeepAliveInterval: z.ZodOptional; tcpCongestion: z.ZodOptional; interface: z.ZodOptional; tcpMptcp: z.ZodOptional; tcpNoDelay: z.ZodOptional; customSockopt: z.ZodArray; level: z.ZodOptional; opt: z.ZodString; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"int">; level: z.ZodOptional; opt: z.ZodString; value: z.ZodNumber; }, z.core.$strip>]>>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodOptional>; tcpSettings: z.ZodObject<{ acceptProxyProtocol: z.ZodOptional; header: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodOptional>; request: z.ZodOptional; method: z.ZodOptional; path: z.ZodOptional>; headers: z.ZodOptional>>; }, z.core.$strip>>; response: z.ZodOptional; status: z.ZodOptional; reason: z.ZodOptional; headers: z.ZodOptional>>; }, z.core.$strip>>; }, z.core.$strip>]>>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ network: z.ZodLiteral<"kcp">; kcpSettings: z.ZodObject<{ mtu: z.ZodOptional; tti: z.ZodOptional; uplinkCapacity: z.ZodOptional; downlinkCapacity: z.ZodOptional; congestion: z.ZodOptional; readBufferSize: z.ZodOptional; writeBufferSize: z.ZodOptional; header: z.ZodOptional>; }, z.core.$strip>>; seed: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ network: z.ZodLiteral<"ws">; wsSettings: z.ZodObject<{ acceptProxyProtocol: z.ZodOptional; path: z.ZodOptional; host: z.ZodOptional; headers: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ network: z.ZodLiteral<"http">; httpSettings: z.ZodObject<{ host: z.ZodOptional>; path: z.ZodOptional; read_idle_timeout: z.ZodOptional; health_check_timeout: z.ZodOptional; method: z.ZodOptional>; headers: z.ZodOptional>>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ network: z.ZodLiteral<"grpc">; grpcSettings: z.ZodObject<{ serviceName: z.ZodString; multiMode: z.ZodOptional; idle_timeout: z.ZodOptional; health_check_timeout: z.ZodOptional; permit_without_stream: z.ZodOptional; initial_windows_size: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ network: z.ZodLiteral<"httpupgrade">; httpupgradeSettings: z.ZodObject<{ acceptProxyProtocol: z.ZodOptional; path: z.ZodOptional; host: z.ZodOptional; headers: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ network: z.ZodLiteral<"splithttp">; splithttpSettings: z.ZodObject<{ path: z.ZodOptional; host: z.ZodOptional; headers: z.ZodOptional>; scMaxEachPostBytes: z.ZodOptional>; scMaxConcurrentPosts: z.ZodOptional>; scMinPostsIntervalMs: z.ZodOptional>; noSSEHeader: z.ZodOptional; xPaddingBytes: z.ZodOptional>; xmux: z.ZodOptional>; maxConnections: z.ZodOptional>; cMaxReuseTimes: z.ZodOptional>; cMaxLifetimeMs: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>; }, z.core.$strip>]>>>, z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ security: z.ZodLiteral<"tls">; tlsSettings: z.ZodOptional; rejectUnknownSni: z.ZodOptional; alpn: z.ZodOptional>; minVersion: z.ZodOptional>; maxVersion: z.ZodOptional>; cipherSuites: z.ZodOptional>; allowInsecure: z.ZodOptional; disableSystemRoot: z.ZodOptional; enableSessionResumption: z.ZodOptional; fingerprint: z.ZodOptional; pinnedPeerCertificateChainSha256: z.ZodOptional>; certificates: z.ZodOptional; oneTimeLoading: z.ZodOptional; usage: z.ZodOptional>; buildChain: z.ZodOptional; certificateFile: z.ZodOptional; certificate: z.ZodOptional>; keyFile: z.ZodOptional; key: z.ZodOptional>; }, z.core.$strip>>>; masterKeyLog: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ security: z.ZodLiteral<"reality">; realitySettings: z.ZodOptional; dest: z.ZodString; xver: z.ZodOptional; serverNames: z.ZodArray; privateKey: z.ZodString; minClientVer: z.ZodOptional; maxClientVer: z.ZodOptional; maxTimeDiff: z.ZodOptional; shortIds: z.ZodArray; serverName: z.ZodOptional; fingerprint: z.ZodString; shortId: z.ZodOptional; publicKey: z.ZodString; spiderX: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>]>>>>; proxySettings: z.ZodOptional>; mux: z.ZodOptional; concurrency: z.ZodUnion, z.ZodNumber]>; xudpConcurrency: z.ZodOptional; xudpProxyUDP443: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodUnion; settings: z.ZodObject<{ response: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ protocol: z.ZodLiteral<"dns">; settings: z.ZodObject<{ network: z.ZodOptional>; address: z.ZodOptional; port: z.ZodOptional; nonIPQuery: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ protocol: z.ZodLiteral<"freedom">; settings: z.ZodObject<{ domainStrategy: z.ZodOptional>; redirect: z.ZodOptional; userLevel: z.ZodOptional; fragment: z.ZodOptional; length: z.ZodString; interval: z.ZodString; }, z.core.$strip>>; noises: z.ZodOptional; packet: z.ZodString; delay: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"rand">; packet: z.ZodUnion; delay: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"str">; packet: z.ZodString; delay: z.ZodOptional>; }, z.core.$strip>]>>>; proxyProtocol: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ protocol: z.ZodLiteral<"http">; settings: z.ZodObject<{ servers: z.ZodArray>>; }, z.core.$strip>>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ protocol: z.ZodLiteral<"loopback">; settings: z.ZodObject<{ inboundTag: z.ZodString; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ protocol: z.ZodLiteral<"shadowsocks">; settings: z.ZodObject<{ servers: z.ZodArray>>; }, z.core.$strip>>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ protocol: z.ZodLiteral<"socks">; settings: z.ZodObject<{ servers: z.ZodArray; }, z.core.$strip>>>; }, z.core.$strip>>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ protocol: z.ZodLiteral<"trojan">; settings: z.ZodObject<{ servers: z.ZodArray; level: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ protocol: z.ZodLiteral<"vless">; settings: z.ZodObject<{ vnext: z.ZodArray; flow: z.ZodOptional; level: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ protocol: z.ZodLiteral<"vmess">; settings: z.ZodObject<{ vnext: z.ZodArray>; level: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ protocol: z.ZodLiteral<"wireguard">; settings: z.ZodObject<{ secretKey: z.ZodString; address: z.ZodOptional>; mtu: z.ZodOptional; reserved: z.ZodArray; workers: z.ZodOptional; peers: z.ZodArray; keepAlive: z.ZodOptional; allowedIPs: z.ZodOptional>; }, z.core.$strip>>; domainStrategy: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>]>>>>; transport: z.ZodOptional; tcpFastOpen: z.ZodOptional>; tproxy: z.ZodOptional>; domainStrategy: z.ZodOptional>; dialerProxy: z.ZodOptional; acceptProxyProtocol: z.ZodOptional; tcpKeepAliveInterval: z.ZodOptional; tcpCongestion: z.ZodOptional; interface: z.ZodOptional; tcpMptcp: z.ZodOptional; tcpNoDelay: z.ZodOptional; customSockopt: z.ZodArray; level: z.ZodOptional; opt: z.ZodString; value: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"int">; level: z.ZodOptional; opt: z.ZodString; value: z.ZodNumber; }, z.core.$strip>]>>; }, z.core.$strip>>; }, z.core.$strip>, z.ZodOptional>; tcpSettings: z.ZodObject<{ acceptProxyProtocol: z.ZodOptional; header: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodOptional>; request: z.ZodOptional; method: z.ZodOptional; path: z.ZodOptional>; headers: z.ZodOptional>>; }, z.core.$strip>>; response: z.ZodOptional; status: z.ZodOptional; reason: z.ZodOptional; headers: z.ZodOptional>>; }, z.core.$strip>>; }, z.core.$strip>]>>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ network: z.ZodLiteral<"kcp">; kcpSettings: z.ZodObject<{ mtu: z.ZodOptional; tti: z.ZodOptional; uplinkCapacity: z.ZodOptional; downlinkCapacity: z.ZodOptional; congestion: z.ZodOptional; readBufferSize: z.ZodOptional; writeBufferSize: z.ZodOptional; header: z.ZodOptional>; }, z.core.$strip>>; seed: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ network: z.ZodLiteral<"ws">; wsSettings: z.ZodObject<{ acceptProxyProtocol: z.ZodOptional; path: z.ZodOptional; host: z.ZodOptional; headers: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ network: z.ZodLiteral<"http">; httpSettings: z.ZodObject<{ host: z.ZodOptional>; path: z.ZodOptional; read_idle_timeout: z.ZodOptional; health_check_timeout: z.ZodOptional; method: z.ZodOptional>; headers: z.ZodOptional>>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ network: z.ZodLiteral<"grpc">; grpcSettings: z.ZodObject<{ serviceName: z.ZodString; multiMode: z.ZodOptional; idle_timeout: z.ZodOptional; health_check_timeout: z.ZodOptional; permit_without_stream: z.ZodOptional; initial_windows_size: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ network: z.ZodLiteral<"httpupgrade">; httpupgradeSettings: z.ZodObject<{ acceptProxyProtocol: z.ZodOptional; path: z.ZodOptional; host: z.ZodOptional; headers: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ network: z.ZodLiteral<"splithttp">; splithttpSettings: z.ZodObject<{ path: z.ZodOptional; host: z.ZodOptional; headers: z.ZodOptional>; scMaxEachPostBytes: z.ZodOptional>; scMaxConcurrentPosts: z.ZodOptional>; scMinPostsIntervalMs: z.ZodOptional>; noSSEHeader: z.ZodOptional; xPaddingBytes: z.ZodOptional>; xmux: z.ZodOptional>; maxConnections: z.ZodOptional>; cMaxReuseTimes: z.ZodOptional>; cMaxLifetimeMs: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>; }, z.core.$strip>]>>>, z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ security: z.ZodLiteral<"tls">; tlsSettings: z.ZodOptional; rejectUnknownSni: z.ZodOptional; alpn: z.ZodOptional>; minVersion: z.ZodOptional>; maxVersion: z.ZodOptional>; cipherSuites: z.ZodOptional>; allowInsecure: z.ZodOptional; disableSystemRoot: z.ZodOptional; enableSessionResumption: z.ZodOptional; fingerprint: z.ZodOptional; pinnedPeerCertificateChainSha256: z.ZodOptional>; certificates: z.ZodOptional; oneTimeLoading: z.ZodOptional; usage: z.ZodOptional>; buildChain: z.ZodOptional; certificateFile: z.ZodOptional; certificate: z.ZodOptional>; keyFile: z.ZodOptional; key: z.ZodOptional>; }, z.core.$strip>>>; masterKeyLog: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>, z.ZodObject<{ security: z.ZodLiteral<"reality">; realitySettings: z.ZodOptional; dest: z.ZodString; xver: z.ZodOptional; serverNames: z.ZodArray; privateKey: z.ZodString; minClientVer: z.ZodOptional; maxClientVer: z.ZodOptional; maxTimeDiff: z.ZodOptional; shortIds: z.ZodArray; serverName: z.ZodOptional; fingerprint: z.ZodString; shortId: z.ZodOptional; publicKey: z.ZodString; spiderX: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>]>>>>; stats: z.ZodOptional>; reverse: z.ZodOptional; }, z.core.$strip>>>; portals: z.ZodOptional; }, z.core.$strip>>>; }, z.core.$strip>>; fakedns: z.ZodOptional; }, z.core.$strip>, z.ZodArray; }, z.core.$strip>>]>>; metrics: z.ZodOptional>; observatory: z.ZodOptional; probeUrl: z.ZodString; probeInterval: z.ZodString; enableConcurrency: z.ZodBoolean; }, z.core.$strip>>; burstObservatory: z.ZodOptional; pingConfig: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>; export type ConfigObject = z.infer;