UNPKG

@herbertgao/surgio

Version:

Generating rules for Surge, Clash, Quantumult like a PRO

89 lines (88 loc) 4.34 kB
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<string, any> | undefined; customFilters?: Record<string, (...args: unknown[]) => unknown> | undefined; destDir?: string | undefined; downloadUrl?: string | undefined; templateString?: string | undefined; subscriptionUserInfoProvider?: string | undefined; }[]; customParams?: Record<string, any> | undefined; customFilters?: Record<string, ((nodeConfig: import("./types").PossibleNodeConfigType) => boolean) | { readonly filter: <T extends import("./types").PossibleNodeConfigType>(nodeList: ReadonlyArray<T>) => ReadonlyArray<T>; 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<string, string | RegExp | (string | RegExp)[]> | undefined; gateway?: { accessToken?: string | undefined; viewerToken?: string | undefined; auth?: boolean | undefined; cookieMaxAge?: number | undefined; useCacheOnError?: boolean | undefined; passRequestUserAgent?: boolean | 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<T extends PossibleProviderConfigType, U = Omit<T, 'type'>> = (config: U) => T | Promisable<T>; export declare const defineBlackSSLProvider: ProviderDefineFunction<BlackSSLProviderConfig>; export declare const defineClashProvider: ProviderDefineFunction<ClashProviderConfig>; export declare const defineCustomProvider: ProviderDefineFunction<CustomProviderConfig>; export declare const defineShadowsocksJsonSubscribeProvider: ProviderDefineFunction<ShadowsocksJsonSubscribeProviderConfig>; export declare const defineShadowsocksSubscribeProvider: ProviderDefineFunction<ShadowsocksSubscribeProviderConfig>; export declare const defineShadowsocksrSubscribeProvider: ProviderDefineFunction<ShadowsocksrSubscribeProviderConfig>; export declare const defineSsdProvider: ProviderDefineFunction<SsdProviderConfig>; export declare const defineTrojanProvider: ProviderDefineFunction<TrojanProviderConfig>; export declare const defineV2rayNSubscribeProvider: ProviderDefineFunction<V2rayNSubscribeProviderConfig>;