import type { SubscriptionRecord } from "./subscription_types.js";
export interface SubscribeInput {
    entity_types?: string[];
    entity_ids?: string[];
    event_types?: string[];
    delivery_method: "webhook" | "sse";
    webhook_url?: string;
    webhook_secret?: string;
    max_failures?: number;
    /** Omit webhook deliveries for events stamped with this `source_peer_id`. */
    sync_peer_id?: string;
}
export declare function subscribeUser(params: {
    userId: string;
    input: SubscribeInput;
}): Promise<{
    subscription_id: string;
    entity_id: string;
    webhook_secret?: string;
}>;
export declare function unsubscribeUser(params: {
    userId: string;
    subscription_id: string;
}): Promise<void>;
/** Omit signing secret from API/MCP surfaces (returned only once on subscribe). */
export declare function redactSubscriptionForClient(sub: SubscriptionRecord): Omit<SubscriptionRecord, "webhook_secret">;
export declare function listSubscriptionsForUser(userId: string): Promise<SubscriptionRecord[]>;
export declare function getSubscriptionStatus(params: {
    userId: string;
    subscription_id: string;
}): Promise<SubscriptionRecord | null>;
//# sourceMappingURL=subscription_actions.d.ts.map