export interface DocumentInfoCounts {
    words: number;
    /**
     * Length of the Document API plain-text projection.
     *
     * This is a "characters with spaces" metric derived from
     * `doc.textBetween(0, size, '\n', '\n')`. It includes whitespace,
     * inter-block newline separators, and one `'\n'` per non-text leaf node
     * (images, tabs, breaks). It is neither Word's `ap:Characters` nor
     * `ap:CharactersWithSpaces`.
     */
    characters: number;
    paragraphs: number;
    headings: number;
    tables: number;
    images: number;
    comments: number;
    /** Count of grouped tracked-change entities (insertions, deletions, format changes). */
    trackedChanges: number;
    /** Count of field-like SDT/content-control nodes (text/date/checkbox/choice controls). */
    sdtFields: number;
    /** Count of unique list sequences, not individual list items. */
    lists: number;
    /** Number of layout pages. Absent when pagination is inactive or layout hasn't completed. */
    pages?: number;
}
export interface DocumentInfoOutlineItem {
    level: number;
    text: string;
    nodeId: string;
}
export interface DocumentInfoCapabilities {
    canFind: boolean;
    canGetNode: boolean;
    canComment: boolean;
    canReplace: boolean;
}
/** A paragraph style discovered in the document. */
export interface DocumentStyleInfo {
    /** Style identifier (e.g. 'Normal', 'Heading1', 'BodyText'). */
    styleId: string;
    /** Number of paragraphs using this style. */
    count: number;
    /** Font family used by text in this style (from actual text marks). */
    fontFamily?: string;
    /** Font size in half-points used by text in this style. */
    fontSize?: number;
}
/** Style information collected from the document. */
export interface DocumentStyles {
    /** Paragraph styles currently in use, sorted by frequency (most common first). */
    paragraphStyles: DocumentStyleInfo[];
}
/** Default formatting detected from the document's body text. */
export interface DocumentDefaults {
    /** Most common body text font family. */
    fontFamily?: string;
    /** Most common body text font size in half-points. */
    fontSize?: number;
    /** Most common body paragraph styleId. */
    styleId?: string;
}
/** A block in the document snapshot with its formatting. */
export interface DocumentSnapshotBlock {
    /** Block index in document order. */
    ordinal: number;
    /** Block ID for targeting (pass to superdoc_create, superdoc_format, etc.). */
    nodeId: string;
    /** Block type: paragraph, heading, table, listItem, image, etc. */
    nodeType: string;
    /** First 80 chars of text content. */
    textPreview: string | null;
    /** True if the block has no text content. */
    isEmpty: boolean;
    /** Named paragraph style ID (e.g. 'Normal', 'Heading1'). Null if implicit. */
    styleId?: string | null;
    /** Font family from the block's first text run. */
    fontFamily?: string;
    /** Font size from the block's first text run. */
    fontSize?: number;
    /** True if the block's text is bold. */
    bold?: boolean;
    /** Paragraph alignment: left, center, right, justify. */
    alignment?: string;
    /** Heading level (1-6). Only present for headings. */
    headingLevel?: number;
}
/** Full document snapshot: structure, blocks with formatting, and defaults. */
export interface DocumentSnapshot {
    /** Total block count. */
    total: number;
    /** All blocks in document order with IDs, types, text, and formatting. */
    blocks: DocumentSnapshotBlock[];
    /** Default formatting detected from body text. */
    defaults: DocumentDefaults;
    /** Document revision. */
    revision: string;
}
export interface DocumentInfo {
    counts: DocumentInfoCounts;
    outline: DocumentInfoOutlineItem[];
    capabilities: DocumentInfoCapabilities;
    /** Monotonic decimal-string revision counter. Increments on every document change. */
    revision: string;
    /** Styles currently in use in the document. */
    styles?: DocumentStyles;
    /** Default formatting detected from the document's most common body text. */
    defaults?: DocumentDefaults;
}
//# sourceMappingURL=info.types.d.ts.map