import { ShadowsocksNodeConfig, V2rayNSubscribeProviderConfig, VmessNodeConfig } from '../types';
import Provider from './Provider';
import { DefaultProviderRequestHeaders, GetNodeListFunction, GetNodeListV2Function } from './types';
export default class V2rayNSubscribeProvider extends Provider {
    #private;
    readonly compatibleMode?: boolean;
    readonly skipCertVerify?: boolean;
    readonly udpRelay?: boolean;
    readonly tls13?: boolean;
    constructor(name: string, config: V2rayNSubscribeProviderConfig);
    get url(): string;
    getNodeList: GetNodeListFunction;
    getNodeListV2: GetNodeListV2Function;
}
/**
 * @see https://github.com/2dust/v2rayN/wiki/%E5%88%86%E4%BA%AB%E9%93%BE%E6%8E%A5%E6%A0%BC%E5%BC%8F%E8%AF%B4%E6%98%8E(ver-2)
 */
export declare const getV2rayNSubscription: ({ url, isCompatibleMode, skipCertVerify, tls13, udpRelay, requestHeaders, cacheKey, }: {
    url: string;
    isCompatibleMode?: boolean;
    skipCertVerify?: boolean;
    udpRelay?: boolean;
    tls13?: boolean;
    requestHeaders: DefaultProviderRequestHeaders;
    cacheKey: string;
}) => Promise<Array<VmessNodeConfig | ShadowsocksNodeConfig>>;
export declare const parseJSONConfig: (json: string, isCompatibleMode?: boolean | undefined, skipCertVerify?: boolean | undefined, udpRelay?: boolean | undefined, tls13?: boolean | undefined) => VmessNodeConfig | undefined;
