import { type IControllerDraftAttachment, type IControllerSessionDraft, type IControllerSessionDraftUpdate } from '../dist_ts_interfaces/interfaces.js'; export declare class ControllerDraftConflictError extends Error { readonly draft: IControllerSessionDraft; constructor(draft: IControllerSessionDraft); } export declare class ControllerDraftLimitError extends Error { constructor(messageArg: string); } export interface IControllerDraftMutationResult { draft: IControllerSessionDraft; update?: IControllerSessionDraftUpdate; } export declare class ControllerDraftManager { private readonly drafts; private nonEmptyDrafts; private aggregateAttachmentBytes; get(keyArg: string): IControllerSessionDraft; update(keyArg: string, expectedRevisionArg: number, patchArg: { text?: string; attachments?: readonly IControllerDraftAttachment[]; }): IControllerDraftMutationResult; snapshot(keyArg: string, revisionArg: number): IControllerSessionDraft; clearExact(keyArg: string, revisionArg: number): IControllerDraftMutationResult; purge(keyArg: string): void; purgePrefix(prefixArg: string): void; clear(): void; private assertDraftFields; private assertAdmission; private store; }