import { AuthContext, KeyValueStore, Logger, ResourceDefinition, StoredSubscription } from '../types'; export declare class SubscriptionManager { private store; private resources; private publicUrl; private logger?; constructor(store: KeyValueStore, resources: ResourceDefinition[], publicUrl: string, logger?: Logger | undefined); /** * Create a new subscription */ createSubscription(params: { uri: string; clientCallbackUrl: string; clientCallbackSecret?: string; source?: string; context: AuthContext; }): Promise<{ subscriptionId: string; status: string; }>; /** * Delete a subscription */ deleteSubscription(subscriptionId: string, context: AuthContext): Promise; /** * Get subscription by ID */ getSubscription(subscriptionId: string): Promise; /** * List subscriptions for a user */ listSubscriptions(userId: string): Promise; /** * Find existing subscription for a URI, user, and optionally source. * When source is provided, only matches subscriptions with the same source. * When source is undefined, only matches subscriptions without a source (backward compat). */ findSubscriptionByUri(uri: string, userId: string, source?: string): Promise<(StoredSubscription & { subscriptionId: string; }) | null>; /** * Find ALL subscriptions for a URI across all users and sources. * Used to notify all subscribers when a webhook arrives. */ findAllSubscriptionsByUri(uri: string, excludeSubscriptionId?: string): Promise<(StoredSubscription & { subscriptionId: string; })[]>; /** * Store subscription data */ private storeSubscription; /** * Load subscription data */ private loadSubscription; /** * Remove subscription data */ private removeSubscription; /** * Find resource definition for URI */ private findResourceForUri; } //# sourceMappingURL=SubscriptionManager.d.ts.map