import { type ArkmeArkoPendingTurn, type ArkmeArkoStoredTurn } from './arko-turn-contract.js'; import type { OfflineContextJournalEntry } from "./offline-context-contract.js"; import type { ArkmeArrangementBoardCachePages } from './arrangement-board-cache.js'; import type { ArkmeLongArticleDraft, ArkmePendingWrite, ArkmeRecordReeditDraft } from './types.js'; import { type RecordingImportAdmission, type RecordingImportJob } from './recording-import-contract.js'; import type { ArkmeRecordReeditSubmission } from './record-reedit-contract.js'; export interface ArkmeCancellationCompletion { userId: number; sessionHash: string; result: import('./types.js').ArkmeCancellationSnapshot; } export declare const RECORDING_IMPORT_TERMINAL_HISTORY_LIMIT = 100; export declare class ArkmeStateStore { private readonly boardCache; private readonly path; private state; private queue; constructor(directory: string); private arkoTurns; arkoPendingTurns(userId: number): Promise; arkoTurn(userId: number, uid: string): Promise; prepareArkoTurn(userId: number, turn: ArkmeArkoPendingTurn, request?: Record): Promise; acknowledgeArkoTurn(userId: number, uid: string): Promise; arkoFileRefs(userId: number): Promise; private reviewPending; readDayReviewPending(scope: string, day: string): Promise; prepareDayReview(scope: string, day: string, request: Record): Promise; acknowledgeDayReview(scope: string, day: string, requestId: string): Promise; arrangementBoardCache(environment: string, userId: number, pages?: ArkmeArrangementBoardCachePages): Promise; readCancellationCompletion(): Promise; writeCancellationCompletion(completion: ArkmeCancellationCompletion | undefined): Promise; uniqueCode(): Promise; readOfflineContextJournal(scope: string): Promise>; putOfflineContextJournal(scope: string, id: string, entry: OfflineContextJournalEntry): Promise; deleteOfflineContextJournal(scope: string, id: string, fingerprint: string): Promise; listPending(userId: number): Promise; putPending(userId: number, pending: ArkmePendingWrite): Promise; getLongArticleDraft(userId: number, sourceRef: string, itemUid?: string, draftScope?: string): Promise; putLongArticleDraft(userId: number, draft: ArkmeLongArticleDraft): Promise; getRecordReeditDraft(userId: number, sourceIdentityKey: string, itemUid: string): Promise; putRecordReeditDraft(userId: number, input: Omit, expectedRevision?: number): Promise; recordReeditFileRefs(userId: number): Promise; listRecordReeditSubmissions(userId: number): Promise; acknowledgeRecordReeditSubmission(userId: number, identity: string, submissionId: string, version: number): Promise; putRecordReeditSubmission(userId: number, job: ArkmeRecordReeditSubmission, expectedId?: string): Promise; discardRecordReeditCandidate(userId: number, sourceIdentityKey: string, itemUid: string, expectedRevision: number): Promise; removeRecordReeditDraft(userId: number, sourceIdentityKey: string, itemUid: string, expectedRevision: number, expectedCandidate?: ArkmeRecordReeditDraft): Promise; listRecordingImportJobs(userId: number): Promise; planRecordingToolBatch(scope: string, candidates: Array<{ key: string; isNew: boolean; strategy?: import('./recording-strategy-contract.js').RecordingStrategy; }>, timeZone: string, signal?: AbortSignal): Promise>; listAllRecordingImportJobs(): Promise; getRecordingImportJob(userId: number, jobId: string): Promise; putRecordingImportJob(userId: number, job: RecordingImportJob): Promise; admitRecordingImportJob(userId: number, job: RecordingImportJob, signal?: AbortSignal): Promise; replaceRecordingImportJob(userId: number, job: RecordingImportJob, expectedRevision: number, signal?: AbortSignal): Promise; removeRecordingImportJob(userId: number, jobId: string): Promise; removeLongArticleDraft(userId: number, sourceRef: string, itemUid?: string, expectedRecordUid?: string, draftScope?: string): Promise; markAttempt(userId: number, recordUid: string, error: string): Promise; removePending(userId: number, recordUid: string): Promise; teamOutboundTarget(scope: string, requestUid: string): Promise; retainTeamOutboundTarget(scope: string, requestUid: string, value: import('./team-outbound-contract.js').TeamOutboundRecovery): Promise; private read; private update; private serial; private load; private write; } //# sourceMappingURL=state-store.d.ts.map