import { z } from 'zod'; import { NodeTypeEnum } from '../types'; export declare const VmessNetworkValidator: z.ZodUnion<[z.ZodLiteral<"tcp">, z.ZodLiteral<"ws">, z.ZodLiteral<"h2">, z.ZodLiteral<"http">, z.ZodLiteral<"grpc">, z.ZodLiteral<"quic">, z.ZodLiteral<"httpupgrade">]>; export declare const VmessMethodValidator: z.ZodUnion<[z.ZodLiteral<"none">, z.ZodLiteral<"aes-128-gcm">, z.ZodLiteral<"chacha20-poly1305">, z.ZodLiteral<"auto">]>; export declare const VmessWSOptsValidator: z.ZodObject<{ path: z.ZodString; headers: z.ZodOptional>; }, "strip", z.ZodTypeAny, { path: string; headers?: Record | undefined; }, { path: string; headers?: Record | undefined; }>; export declare const VmessH2OptsValidator: z.ZodObject<{ path: z.ZodString; host: z.ZodArray; }, "strip", z.ZodTypeAny, { host: [string, ...string[]]; path: string; }, { host: [string, ...string[]]; path: string; }>; export declare const VmessHttpOptsValidator: z.ZodObject<{ path: z.ZodArray; headers: z.ZodOptional>; method: z.ZodDefault>; }, "strip", z.ZodTypeAny, { path: string[]; method: string; headers?: Record | undefined; }, { path: string[]; headers?: Record | undefined; method?: string | undefined; }>; export declare const VmessGRPCOptsValidator: z.ZodObject<{ serviceName: z.ZodString; }, "strip", z.ZodTypeAny, { serviceName: string; }, { serviceName: string; }>; export declare const VmessQuicOptsValidator: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>; export declare const VmessHttpUpgradeOptsValidator: z.ZodObject<{ path: z.ZodString; host: z.ZodOptional; headers: z.ZodOptional>; }, "strip", z.ZodTypeAny, { path: string; host?: string | undefined; headers?: Record | undefined; }, { path: string; host?: string | undefined; headers?: Record | undefined; }>; /** * @see https://stash.wiki/proxy-protocols/proxy-types#vmess * @see https://wiki.metacubex.one/config/proxies/vmess/ */ export declare const VmessNodeConfigValidator: z.ZodObject<{ nodeName: z.ZodString; enable: z.ZodOptional; tfo: z.ZodOptional; mptcp: z.ZodOptional; ecn: z.ZodOptional; shadowTls: z.ZodOptional, string | number, string | number>>; password: z.ZodString; sni: z.ZodString; }, "strip", z.ZodTypeAny, { password: string; sni: string; version?: string | number | undefined; }, { password: string; sni: string; version?: string | number | undefined; }>>; blockQuic: z.ZodOptional, z.ZodLiteral<"on">, z.ZodLiteral<"off">]>>; portHopping: z.ZodOptional>; portHoppingInterval: z.ZodOptional; underlyingProxy: z.ZodOptional; testUrl: z.ZodOptional; testTimeout: z.ZodOptional; surgeConfig: z.ZodOptional; vmessAEAD: z.ZodOptional; }, "strip", z.ZodTypeAny, { resolveHostname?: boolean | undefined; vmessAEAD?: boolean | undefined; }, { resolveHostname?: boolean | undefined; vmessAEAD?: boolean | undefined; }>>; surfboardConfig: z.ZodOptional; }, "strip", z.ZodTypeAny, { vmessAEAD?: boolean | undefined; }, { vmessAEAD?: boolean | undefined; }>>; quantumultXConfig: z.ZodOptional; }, "strip", z.ZodTypeAny, { vmessAEAD?: boolean | undefined; }, { vmessAEAD?: boolean | undefined; }>>; clashConfig: z.ZodOptional; enableShadowTls: z.ZodOptional; enableHysteria2: z.ZodOptional; enableVless: z.ZodOptional; clashCore: z.ZodOptional, z.ZodLiteral<"clash.meta">, z.ZodLiteral<"stash">]>>; }, "strip", z.ZodTypeAny, { enableTuic?: boolean | undefined; enableShadowTls?: boolean | undefined; enableHysteria2?: boolean | undefined; enableVless?: boolean | undefined; clashCore?: "clash" | "clash.meta" | "stash" | undefined; }, { enableTuic?: boolean | undefined; enableShadowTls?: boolean | undefined; enableHysteria2?: boolean | undefined; enableVless?: boolean | undefined; clashCore?: "clash" | "clash.meta" | "stash" | undefined; }>>; hostnameIp: z.ZodOptional>>; binPath: z.ZodOptional; localPort: z.ZodOptional; interfaceName: z.ZodOptional; ipVersion: z.ZodOptional; } & { type: z.ZodLiteral; hostname: z.ZodString; port: z.ZodEffects, string | number, string | number>; method: z.ZodUnion<[z.ZodLiteral<"none">, z.ZodLiteral<"aes-128-gcm">, z.ZodLiteral<"chacha20-poly1305">, z.ZodLiteral<"auto">]>; uuid: z.ZodString; alterId: z.ZodOptional, string | number, string | number>>>; network: z.ZodDefault, z.ZodLiteral<"ws">, z.ZodLiteral<"h2">, z.ZodLiteral<"http">, z.ZodLiteral<"grpc">, z.ZodLiteral<"quic">, z.ZodLiteral<"httpupgrade">]>>; udpRelay: z.ZodOptional; wsOpts: z.ZodOptional>; }, "strip", z.ZodTypeAny, { path: string; headers?: Record | undefined; }, { path: string; headers?: Record | undefined; }>>; h2Opts: z.ZodOptional; }, "strip", z.ZodTypeAny, { host: [string, ...string[]]; path: string; }, { host: [string, ...string[]]; path: string; }>>; httpOpts: z.ZodOptional; headers: z.ZodOptional>; method: z.ZodDefault>; }, "strip", z.ZodTypeAny, { path: string[]; method: string; headers?: Record | undefined; }, { path: string[]; headers?: Record | undefined; method?: string | undefined; }>>; grpcOpts: z.ZodOptional>; quicOpts: z.ZodOptional>; httpUpgradeOpts: z.ZodOptional; headers: z.ZodOptional>; }, "strip", z.ZodTypeAny, { path: string; host?: string | undefined; headers?: Record | undefined; }, { path: string; host?: string | undefined; headers?: Record | undefined; }>>; tls: z.ZodOptional; sni: z.ZodOptional; tls13: z.ZodOptional; skipCertVerify: z.ZodOptional; serverCertFingerprintSha256: z.ZodOptional; alpn: z.ZodOptional>; clientFingerprint: z.ZodOptional; multiplex: z.ZodOptional; maxConnections: z.ZodOptional; minStreams: z.ZodOptional; maxStreams: z.ZodOptional; padding: z.ZodOptional; brutal: z.ZodOptional>; }, "strip", z.ZodTypeAny, { protocol: "smux" | "yamux" | "h2mux"; maxConnections?: number | undefined; minStreams?: number | undefined; maxStreams?: number | undefined; padding?: boolean | undefined; brutal?: { upMbps: number; downMbps: number; } | undefined; }, { protocol: "smux" | "yamux" | "h2mux"; maxConnections?: number | undefined; minStreams?: number | undefined; maxStreams?: number | undefined; padding?: boolean | undefined; brutal?: { upMbps: number; downMbps: number; } | undefined; }>>; host: z.ZodOptional; path: z.ZodOptional; wsHeaders: z.ZodOptional>; }, "strip", z.ZodTypeAny, { port: string | number; type: NodeTypeEnum.Vmess; nodeName: string; hostname: string; method: "auto" | "none" | "aes-128-gcm" | "chacha20-poly1305"; uuid: string; network: "tcp" | "http" | "ws" | "h2" | "grpc" | "quic" | "httpupgrade"; host?: string | undefined; path?: string | undefined; enable?: boolean | undefined; tfo?: boolean | undefined; mptcp?: boolean | undefined; ecn?: boolean | undefined; sni?: string | undefined; shadowTls?: { password: string; sni: string; version?: string | number | undefined; } | undefined; blockQuic?: "auto" | "on" | "off" | undefined; portHopping?: string | undefined; portHoppingInterval?: number | undefined; underlyingProxy?: string | undefined; testUrl?: string | undefined; testTimeout?: number | undefined; surgeConfig?: { resolveHostname?: boolean | undefined; vmessAEAD?: boolean | undefined; } | undefined; surfboardConfig?: { vmessAEAD?: boolean | undefined; } | undefined; quantumultXConfig?: { vmessAEAD?: boolean | undefined; } | undefined; clashConfig?: { enableTuic?: boolean | undefined; enableShadowTls?: boolean | undefined; enableHysteria2?: boolean | undefined; enableVless?: boolean | undefined; clashCore?: "clash" | "clash.meta" | "stash" | undefined; } | undefined; hostnameIp?: readonly string[] | undefined; binPath?: string | undefined; localPort?: number | undefined; interfaceName?: string | undefined; ipVersion?: string | undefined; tls13?: boolean | undefined; skipCertVerify?: boolean | undefined; alpn?: [string, ...string[]] | undefined; serverCertFingerprintSha256?: string | undefined; clientFingerprint?: string | undefined; udpRelay?: boolean | undefined; tls?: boolean | undefined; wsHeaders?: Record | undefined; multiplex?: { protocol: "smux" | "yamux" | "h2mux"; maxConnections?: number | undefined; minStreams?: number | undefined; maxStreams?: number | undefined; padding?: boolean | undefined; brutal?: { upMbps: number; downMbps: number; } | undefined; } | undefined; alterId?: string | number | undefined; wsOpts?: { path: string; headers?: Record | undefined; } | undefined; h2Opts?: { host: [string, ...string[]]; path: string; } | undefined; httpOpts?: { path: string[]; method: string; headers?: Record | undefined; } | undefined; grpcOpts?: { serviceName: string; } | undefined; quicOpts?: {} | undefined; httpUpgradeOpts?: { path: string; host?: string | undefined; headers?: Record | undefined; } | undefined; }, { port: string | number; type: NodeTypeEnum.Vmess; nodeName: string; hostname: string; method: "auto" | "none" | "aes-128-gcm" | "chacha20-poly1305"; uuid: string; host?: string | undefined; path?: string | undefined; enable?: boolean | undefined; tfo?: boolean | undefined; mptcp?: boolean | undefined; ecn?: boolean | undefined; sni?: string | undefined; shadowTls?: { password: string; sni: string; version?: string | number | undefined; } | undefined; blockQuic?: "auto" | "on" | "off" | undefined; portHopping?: string | undefined; portHoppingInterval?: number | undefined; underlyingProxy?: string | undefined; testUrl?: string | undefined; testTimeout?: number | undefined; surgeConfig?: { resolveHostname?: boolean | undefined; vmessAEAD?: boolean | undefined; } | undefined; surfboardConfig?: { vmessAEAD?: boolean | undefined; } | undefined; quantumultXConfig?: { vmessAEAD?: boolean | undefined; } | undefined; clashConfig?: { enableTuic?: boolean | undefined; enableShadowTls?: boolean | undefined; enableHysteria2?: boolean | undefined; enableVless?: boolean | undefined; clashCore?: "clash" | "clash.meta" | "stash" | undefined; } | undefined; hostnameIp?: readonly string[] | undefined; binPath?: string | undefined; localPort?: number | undefined; interfaceName?: string | undefined; ipVersion?: string | undefined; tls13?: boolean | undefined; skipCertVerify?: boolean | undefined; alpn?: [string, ...string[]] | undefined; serverCertFingerprintSha256?: string | undefined; clientFingerprint?: string | undefined; udpRelay?: boolean | undefined; tls?: boolean | undefined; wsHeaders?: Record | undefined; multiplex?: { protocol: "smux" | "yamux" | "h2mux"; maxConnections?: number | undefined; minStreams?: number | undefined; maxStreams?: number | undefined; padding?: boolean | undefined; brutal?: { upMbps: number; downMbps: number; } | undefined; } | undefined; alterId?: string | number | undefined; network?: "tcp" | "http" | "ws" | "h2" | "grpc" | "quic" | "httpupgrade" | undefined; wsOpts?: { path: string; headers?: Record | undefined; } | undefined; h2Opts?: { host: [string, ...string[]]; path: string; } | undefined; httpOpts?: { path: string[]; headers?: Record | undefined; method?: string | undefined; } | undefined; grpcOpts?: { serviceName: string; } | undefined; quicOpts?: {} | undefined; httpUpgradeOpts?: { path: string; host?: string | undefined; headers?: Record | undefined; } | undefined; }>;