import type { OAuthProviderConfig } from './subscriptions.js';
import type { ServiceConfig } from './service-registry.js';
export interface BuiltinSubscriptionProvider {
    readonly provider: string;
    readonly displayName: string;
    readonly authType: 'oauth';
    readonly tokenKey: string;
    readonly providerId: string;
    readonly oauth: OAuthProviderConfig;
    readonly notes: readonly string[];
}
export interface AvailableSubscriptionProvider {
    readonly provider: string;
    readonly displayName: string;
    readonly source: 'builtin' | 'service';
    readonly oauth: OAuthProviderConfig;
    readonly tokenKey: string;
    readonly providerId: string;
    readonly notes: readonly string[];
}
export declare function listBuiltinSubscriptionProviders(): BuiltinSubscriptionProvider[];
export declare function getBuiltinSubscriptionProvider(provider: string): BuiltinSubscriptionProvider | null;
export declare function getSubscriptionProviderConfig(provider: string, serviceConfig?: ServiceConfig | null): {
    oauth: OAuthProviderConfig;
    source: 'service' | 'builtin';
    tokenKey: string;
    providerId: string;
} | null;
export declare function listAvailableSubscriptionProviders(services: Record<string, ServiceConfig>): AvailableSubscriptionProvider[];
//# sourceMappingURL=subscription-providers.d.ts.map