import { AnyTLSNodeConfig, ClashProviderConfig, HttpNodeConfig, HttpsNodeConfig, Hysteria2NodeConfig, ShadowsocksNodeConfig, ShadowsocksrNodeConfig, SnellNodeConfig, SubscriptionUserinfo, TrojanNodeConfig, TuicNodeConfig, VlessNodeConfig, VmessNodeConfig, Socks5NodeConfig, TailscaleNodeConfig } from '../types'; import Provider from './Provider'; import { DefaultProviderRequestHeaders, GetNodeListFunction, GetNodeListV2Function, GetSubscriptionUserInfoFunction } from './types'; type SupportConfigTypes = ShadowsocksNodeConfig | VmessNodeConfig | VlessNodeConfig | HttpsNodeConfig | HttpNodeConfig | ShadowsocksrNodeConfig | SnellNodeConfig | TrojanNodeConfig | TuicNodeConfig | Hysteria2NodeConfig | Socks5NodeConfig | AnyTLSNodeConfig | TailscaleNodeConfig; export default class ClashProvider extends Provider { #private; readonly udpRelay?: boolean; readonly tls13?: boolean; constructor(name: string, config: ClashProviderConfig); get url(): string; getSubscriptionUserInfo: GetSubscriptionUserInfoFunction; getNodeList: GetNodeListFunction; getNodeListV2: GetNodeListV2Function; } export declare const getClashSubscription: ({ url, udpRelay, tls13, requestHeaders, cacheKey, }: { url: string; requestHeaders: DefaultProviderRequestHeaders; udpRelay?: boolean; tls13?: boolean; cacheKey: string; }) => Promise<{ readonly nodeList: Array; readonly subscriptionUserInfo?: SubscriptionUserinfo; }>; export declare const parseClashConfig: (proxyList: Array, udpRelay?: boolean, tls13?: boolean) => Array; export {};