import { Promisable } from 'type-fest'; import { BlackSSLProviderConfig, ClashProviderConfig, CommandConfigBeforeNormalize, CustomProviderConfig, PossibleProviderConfigType, ShadowsocksJsonSubscribeProviderConfig, ShadowsocksrSubscribeProviderConfig, ShadowsocksSubscribeProviderConfig, SsdProviderConfig, TrojanProviderConfig, V2rayNSubscribeProviderConfig } from './types'; export declare const defineSurgioConfig: (config: CommandConfigBeforeNormalize) => { artifacts: { name: string; template: string; provider: string; templateType?: "default" | "json" | undefined; extendTemplate?: ((args_0: unknown, ...args: unknown[]) => unknown) | undefined; categories?: string[] | undefined; combineProviders?: string[] | undefined; customParams?: Record | undefined; customFilters?: Record unknown> | undefined; destDir?: string | undefined; destDirs?: string[] | undefined; downloadUrl?: string | undefined; templateString?: string | undefined; subscriptionUserInfoProvider?: string | undefined; }[]; customParams?: Record | undefined; customFilters?: Record boolean) | { readonly filter: (nodeList: ReadonlyArray) => ReadonlyArray; readonly supportSort: true; }> | undefined; resolveHostname?: boolean | 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; binPath?: { shadowsocksr: string; } | undefined; remoteSnippets?: { name: string; url: string; surgioSnippet?: boolean | undefined; }[] | undefined; urlBase?: string | undefined; upload?: { bucket: string; accessKeyId: string; accessKeySecret: string; endpoint?: string | undefined; prefix?: string | undefined; region?: string | undefined; } | undefined; flags?: Record | undefined; gateway?: { accessToken?: string | undefined; viewerToken?: string | undefined; auth?: boolean | undefined; cookieMaxAge?: number | undefined; useCacheOnError?: boolean | undefined; passRequestUserAgent?: boolean | undefined; passRequestHeaders?: string[] | undefined; } | undefined; checkHostname?: boolean | undefined; proxyTestUrl?: string | undefined; proxyTestInterval?: number | undefined; internetTestUrl?: string | undefined; internetTestInterval?: number | undefined; analytics?: boolean | undefined; cache?: { type?: "default" | "redis" | undefined; redisUrl?: string | undefined; } | undefined; }; export type ProviderDefineFunction> = (config: U) => T | Promisable; export declare const defineBlackSSLProvider: ProviderDefineFunction; export declare const defineClashProvider: ProviderDefineFunction; export declare const defineCustomProvider: ProviderDefineFunction; export declare const defineShadowsocksJsonSubscribeProvider: ProviderDefineFunction; export declare const defineShadowsocksSubscribeProvider: ProviderDefineFunction; export declare const defineShadowsocksrSubscribeProvider: ProviderDefineFunction; export declare const defineSsdProvider: ProviderDefineFunction; export declare const defineTrojanProvider: ProviderDefineFunction; export declare const defineV2rayNSubscribeProvider: ProviderDefineFunction;