import * as x from 'x-value'; import * as xn from 'x-value/node'; export declare const Config: x.IntersectionType<[x.ObjectType<{ mode: x.RefinedType, never, "in", false>; alias: x.OptionalType>; tunnel: x.OptionalType, "ip pattern", unknown, false>, x.RefinedType, never, "", false>]>>; port: x.OptionalType, "integer", unknown, false>, "port", unknown, false>>; password: x.OptionalType>; }>, x.UnionType<[x.ObjectType<{ cert: x.UnionType<[x.AtomicType, x.AtomicType]>; key: x.UnionType<[x.AtomicType, x.AtomicType]>; }>, x.ObjectType<{}>]>]>>; direct: x.OptionalType, never, "all", false>; }>, never, unknown, false>, x.RefinedType, never, "ip", false>; match: x.UnionType<[x.ArrayType, never, "loopback", false>, x.RefinedType, never, "private", false>, x.RefinedType, "ip match pattern", unknown, false>]>>, x.UnionType<[x.RefinedType, never, "loopback", false>, x.RefinedType, never, "private", false>, x.RefinedType, "ip match pattern", unknown, false>]>]>; }>, never, unknown, false>, x.RefinedType, never, "geoip", false>; match: x.UnionType<[x.ArrayType>, x.AtomicType]>; }>, never, unknown, false>, x.RefinedType, never, "domain", false>; match: x.UnionType<[x.ArrayType>, x.AtomicType]>; }>, never, unknown, false>, x.RefinedType, never, "port", false>; match: x.UnionType<[x.ArrayType>, x.AtomicType]>; }>, never, unknown, false>, x.ObjectType<{ type: x.RefinedType, never, "host", false>; match: x.UnionType<[x.ArrayType, never, "loopback", false>, x.RefinedType, never, "private", false>, x.RefinedType, "ip match pattern", unknown, false>]>>, x.UnionType<[x.RefinedType, never, "loopback", false>, x.RefinedType, never, "private", false>, x.RefinedType, "ip match pattern", unknown, false>]>]>>; geoip: x.OptionalType>, x.AtomicType]>>; domain: x.OptionalType>, x.AtomicType]>>; port: x.OptionalType>, x.AtomicType]>>; }>>, x.ObjectType<{ ip: x.OptionalType, never, "loopback", false>, x.RefinedType, never, "private", false>, x.RefinedType, "ip match pattern", unknown, false>]>>, x.UnionType<[x.RefinedType, never, "loopback", false>, x.RefinedType, never, "private", false>, x.RefinedType, "ip match pattern", unknown, false>]>]>>; geoip: x.OptionalType>, x.AtomicType]>>; domain: x.OptionalType>, x.AtomicType]>>; port: x.OptionalType>, x.AtomicType]>>; }>]>; }>]>, x.ObjectType<{ negate: x.OptionalType, never, unknown, false>>; }>]>>>; ddns: x.OptionalType, never, "ipv4", false>, x.RefinedType, never, "ipv6", false>]>>; checkInterval: x.OptionalType, "integer", unknown, false>, never, unknown, false>>; }>, x.UnionType<[x.ObjectType<{ provider: x.RefinedType, never, "cloudflare", false>; token: x.AtomicType; zone: x.AtomicType; record: x.AtomicType; }>, x.ObjectType<{ provider: x.RefinedType, never, "alicloud", false>; endpoint: x.OptionalType>; accessKeyId: x.AtomicType; accessKeySecret: x.AtomicType; domain: x.AtomicType; record: x.AtomicType; }>]>]>>; }>, x.UnionType<[x.ObjectType<{ proxy: x.ObjectType<{ host: x.OptionalType, "ip pattern", unknown, false>, x.RefinedType, never, "", false>]>>; port: x.OptionalType, "integer", unknown, false>, "port", unknown, false>>; refererSniffing: x.OptionalType>>; hosts: x.OptionalType>>; }>>; exclude: x.OptionalType>>; hosts: x.OptionalType>>; }>>; }>, x.AtomicType]>>; }>; }>, x.ObjectType<{ proxies: x.ArrayType, "ip pattern", unknown, false>, x.RefinedType, never, "", false>]>>; port: x.OptionalType, "integer", unknown, false>, "port", unknown, false>>; refererSniffing: x.OptionalType>>; hosts: x.OptionalType>>; }>>; exclude: x.OptionalType>>; hosts: x.OptionalType>>; }>>; }>, x.AtomicType]>>; }>>; }>, x.ObjectType<{}>]>]>; export type Config = x.TypeOf;