import type { PigeonDocument, BlockType, ContentBlock, RowNode, ValidationError } from '@lit-pigeon/core'; export interface NewRowOptions { /** Column count, 1-4. Default 1. Either this or `ratios` may be supplied; if both, ratios wins. */ columnCount?: number; /** Column width ratios summing to 12. Length determines column count. */ ratios?: number[]; } /** * In-memory key-value store of PigeonDocuments. Each document is keyed * by an opaque id returned from `create()`. The MCP server consumes one * shared store; agents can author multiple documents in a single session. */ export declare class DocumentStore { private _docs; list(): Array<{ id: string; name: string; updatedAt: string; }>; has(id: string): boolean; get(id: string): PigeonDocument; create(name?: string): { id: string; document: PigeonDocument; }; load(doc: PigeonDocument): { id: string; document: PigeonDocument; }; /** Replaces the entire document under `id`. Validates first. */ replace(id: string, doc: PigeonDocument): PigeonDocument; validate(id: string): ValidationError[]; /** Adds a new row to the body. Returns the row + its first column's id (handy for the AI's next step). */ addRow(documentId: string, opts?: NewRowOptions): { row: RowNode; columnIds: string[]; }; /** Appends a block to a column. */ addBlock(documentId: string, rowId: string, columnId: string, blockType: BlockType, overrides?: Record): ContentBlock; updateBlock(documentId: string, rowId: string, columnId: string, blockId: string, values: Record): ContentBlock; deleteBlock(documentId: string, rowId: string, columnId: string, blockId: string): void; setBodyAttribute(documentId: string, attribute: string, value: unknown): void; setMetadata(documentId: string, patch: Partial): void; } //# sourceMappingURL=document-store.d.ts.map