import type { Database as SqliteDb } from "better-sqlite3"; import { type Conflict, type InviteRecord, type MemberId, type MemberRecord, type MemberStateRow, type PairId, type PairRecord, type PairStateRow } from "../types.js"; import type { AcceptInviteAtomicInput, AcceptInviteAtomicResult, AcceptInviteInput, AddMemberInput, CreateInviteInput, CreatePairInput, SetMemberStateInput, SetPairStateInput, TenantStore } from "./interface.js"; export interface SqliteTenantStoreOptions { /** File path or ":memory:". Defaults to ":memory:". */ path?: string; /** Pre-opened Database instance (advanced). */ db?: SqliteDb; } export declare class SqliteTenantStore implements TenantStore { private readonly db; private initialized; constructor(options?: SqliteTenantStoreOptions); init(): void; close(): void; createPair(input: CreatePairInput): void; getPair(pairId: PairId): PairRecord | null; addMember(input: AddMemberInput): void; reactivateMember(pairId: PairId, memberId: MemberId, joinedAt: string): void; removeMember(pairId: PairId, memberId: MemberId, leftAt: string): void; listMembers(pairId: PairId, includeLeft?: boolean): MemberRecord[]; getMember(pairId: PairId, memberId: MemberId): MemberRecord | null; createInvite(input: CreateInviteInput): void; getInvite(inviteToken: string): InviteRecord | null; acceptInvite(input: AcceptInviteInput): void; acceptInviteAtomic(input: AcceptInviteAtomicInput): AcceptInviteAtomicResult; countPendingInvites(pairId: PairId, asOf: string): number; forgetMember(pairId: PairId, memberId: MemberId): void; setMemberState(input: SetMemberStateInput): void; getMemberState(pairId: PairId, memberId: MemberId, keys?: string[]): MemberStateRow[]; getMemberStateHistory(pairId: PairId, memberId: MemberId, key: string): MemberStateRow[]; setPairState(input: SetPairStateInput): { version: number; }; getPairState(pairId: PairId, namespace?: string): PairStateRow[]; getPairStateHistory(pairId: PairId, namespace: string, key: string): PairStateRow[]; listConflicts(pairId: PairId, namespace?: string): Conflict[]; markConflictResolved(pairId: PairId, namespace: string, key: string, winnerVersion: number, resolvedAt: string): void; /** Internal: SCHEMA_VERSION used by migration tests. */ static schemaVersion(): number; } //# sourceMappingURL=sqlite.d.ts.map