import type { DatabaseSync } from "node:sqlite"; import type { Context } from "@/types"; import type { SignalSubscriptionDbRecord } from "./databaseTypes.js"; /** * Signal subscriptions repository backed by SQLite with write-through caching. * Expects: schema migrations already applied for signals_subscriptions. */ export declare class SignalSubscriptionsRepository { private readonly db; private readonly subscriptionsByKey; private readonly subscriptionLocks; private readonly cacheLock; private readonly createLock; private allSubscriptionsLoaded; constructor(db: DatabaseSync); create(record: SignalSubscriptionDbRecord): Promise; delete(ctx: Context, pattern: string): Promise; findByUserAndAgent(ctx: Context, pattern: string): Promise; findMany(): Promise; findMatching(ctx: Context, signalType: string): Promise; private subscriptionCacheSet; private subscriptionLoadByKey; private subscriptionParse; private subscriptionLockForKey; } //# sourceMappingURL=signalSubscriptionsRepository.d.ts.map