import { ShadowsocksrNodeConfig, ShadowsocksrSubscribeProviderConfig, SubscriptionUserinfo } from '../types';
import Provider from './Provider';
import { DefaultProviderRequestHeaders, GetNodeListFunction, GetNodeListV2Function, GetSubscriptionUserInfoFunction } from './types';
export default class ShadowsocksrSubscribeProvider extends Provider {
    #private;
    readonly udpRelay?: boolean;
    constructor(name: string, config: ShadowsocksrSubscribeProviderConfig);
    get url(): string;
    getSubscriptionUserInfo: GetSubscriptionUserInfoFunction;
    getNodeList: GetNodeListFunction;
    getNodeListV2: GetNodeListV2Function;
}
export declare const getShadowsocksrSubscription: (url: string, requestHeaders: DefaultProviderRequestHeaders, cacheKey: string, udpRelay?: boolean) => Promise<{
    readonly nodeList: Array<ShadowsocksrNodeConfig>;
    readonly subscriptionUserInfo?: SubscriptionUserinfo;
}>;
