import { type SealedSecret } from './secret-box.js'; export declare const CONTINUATION_POSITION_CAP = 256; export interface ContinuationKey { id: string; /** Raw AES-256 key, base64 encoded only inside adapter-private storage. */ material: string; createdAt: number; } export interface ContinuationKeys { active: ContinuationKey; previous?: ContinuationKey; } export interface ContinuationPosition { sealed: SealedSecret; expiresAt: number; } /** Neither keys nor positions may be stored in module-readable scope SQL or a dump. */ export interface ContinuationStore { keys(): Promise; setKeys(keys: ContinuationKeys): Promise; position(id: string, expiresAt: number): Promise; setPosition(id: string, position: ContinuationPosition): Promise; } /** Everything that makes the position mean the same walk, with no raw input kept. */ export interface ContinuationBinding { scopeId: string; principal: string; operation: string; list: string; query: unknown; } /** Full visible pages are stateless; only a hidden budget stop needs a private locator. */ export declare function visibleContinuation(store: ContinuationStore, binding: ContinuationBinding, now?: () => number, legacyUsed?: () => void, writable?: boolean): { writable: boolean; seal(position: string, hidden?: boolean): Promise; open(cursor: string): Promise; }; //# sourceMappingURL=visible-continuation.d.ts.map