import { DocumentInfo, MutationsApplyInput, MutationsPreviewInput, MutationsPreviewOutput, NodeAddress, PlanReceipt, QueryMatchInput, QueryMatchOutput, TextSelector, NodeSelector, Receipt, TextMutationReceipt, SDMutationReceipt, ExtractResult } from './types/index.js';
import { CommentsAdapter, CommentsApi } from './comments/comments.js';
import { DeleteInput } from './delete/delete.js';
import { FindAdapter } from './find/find.js';
import { SDFindInput, SDFindResult, SDGetInput, SDNodeResult } from './types/sd-envelope.js';
import { FormatApi } from './format/format.js';
import { StylesAdapter, StylesApi } from './styles/index.js';
import { GetNodeAdapter, GetNodeByIdInput } from './get-node/get-node.js';
import { GetAdapter } from './get/get.js';
import { SDDocument } from './types/fragment.js';
import { GetTextAdapter, GetTextInput } from './get-text/get-text.js';
import { GetMarkdownAdapter, GetMarkdownInput } from './get-markdown/get-markdown.js';
import { GetHtmlAdapter, GetHtmlInput } from './get-html/get-html.js';
import { MarkdownToFragmentAdapter, MarkdownToFragmentInput } from './markdown-to-fragment/markdown-to-fragment.js';
import { SDMarkdownToFragmentResult } from './types/sd-contract.js';
import { InfoAdapter, InfoInput } from './info/info.js';
import { ExtractAdapter, ExtractInput } from './extract/extract.js';
import { ClearContentAdapter, ClearContentInput } from './clear-content/clear-content.js';
import { InsertInput } from './insert/insert.js';
import { ResolveRangeInput, ResolveRangeOutput } from './ranges/ranges.types.js';
import { SelectionApi, SelectionAdapter } from './selection/selection.js';
import { ListsAdapter, ListsApi } from './lists/lists.js';
import { ReplaceInput } from './replace/replace.js';
import { CreateAdapter, CreateApi } from './create/create.js';
import { BlocksAdapter, BlocksApi } from './blocks/blocks.js';
import { TableLocator, TableMutationResult, TablesConvertFromTextInput, TablesMoveInput, TablesSplitInput, TablesConvertToTextInput, TablesSetLayoutInput, TablesInsertRowInput, TablesDeleteRowInput, TablesSetRowHeightInput, TablesDistributeRowsInput, TablesSetRowOptionsInput, TablesInsertColumnInput, TablesDeleteColumnInput, TablesSetColumnWidthInput, TablesDistributeColumnsInput, TablesInsertCellInput, TablesDeleteCellInput, TablesMergeCellsInput, TablesUnmergeCellsInput, TablesSplitCellInput, TablesSetCellPropertiesInput, TablesSortInput, TablesSetAltTextInput, TablesSetStyleInput, TablesClearStyleInput, TablesSetStyleOptionInput, TablesSetBorderInput, TablesClearBorderInput, TablesApplyBorderPresetInput, TablesSetShadingInput, TablesClearShadingInput, TablesSetTablePaddingInput, TablesSetCellPaddingInput, TablesSetCellSpacingInput, TablesClearCellSpacingInput, TablesApplyStyleInput, TablesSetBordersInput, TablesSetTableOptionsInput, TablesGetInput, TablesGetOutput, TablesGetCellsInput, TablesGetCellsOutput, TablesGetPropertiesInput, TablesGetPropertiesOutput, TablesGetStylesInput, TablesGetStylesOutput, TablesSetDefaultStyleInput, TablesClearDefaultStyleInput } from './types/table-operations.types.js';
import { TrackChangesAdapter, TrackChangesApi } from './track-changes/track-changes.js';
import { MutationOptions, RevisionGuardOptions, WriteAdapter } from './write/write.js';
import { SelectionMutationAdapter } from './selection-mutation.js';
import { CapabilitiesAdapter, DocumentApiCapabilities } from './capabilities/capabilities.js';
import { OperationId } from './contract/types.js';
import { DynamicInvokeRequest, InvokeRequest, InvokeResult } from './contract/operation-registry.js';
import { HistoryAdapter, HistoryApi } from './history/history.js';
import { DiffAdapter, DiffApi } from './diff/diff.js';
import { ParagraphsAdapter, ParagraphFormatApi, ParagraphStylesApi } from './paragraphs/paragraphs.js';
import { SectionsAdapter, SectionsApi } from './sections/sections.js';
import { HeaderFootersAdapter, HeaderFootersApi } from './header-footers/header-footers.js';
import { DocumentMutationResult } from './sections/sections.types.js';
import { ImagesAdapter, ImagesApi, CreateImageAdapter } from './images/images.js';
import { TocApi, TocAdapter } from './toc/toc.js';
import { HyperlinksApi, HyperlinksAdapter } from './hyperlinks/hyperlinks.js';
import { ContentControlsApi, ContentControlsAdapter, ContentControlsCreateAdapter } from './content-controls/content-controls.js';
import { BookmarksApi, BookmarksAdapter } from './bookmarks/bookmarks.js';
import { ProtectionApi, ProtectionAdapter } from './protection/protection.js';
import { PermissionRangesApi, PermissionRangesAdapter } from './permission-ranges/permission-ranges.js';
import { FootnotesApi, FootnotesAdapter } from './footnotes/footnotes.js';
import { CrossRefsApi, CrossRefsAdapter } from './cross-refs/cross-refs.js';
import { IndexApi, IndexAdapter } from './index/index.js';
import { CaptionsApi, CaptionsAdapter } from './captions/captions.js';
import { FieldsApi, FieldsAdapter } from './fields/fields.js';
import { CitationsApi, CitationsAdapter } from './citations/citations.js';
import { AuthoritiesApi, AuthoritiesAdapter } from './authorities/authorities.js';
/**
 * Engine-agnostic Document API surface.
 */
export * from './types/index.js';
export * from './contract/index.js';
export * from './capabilities/capabilities.js';
export * from './inline-semantics/index.js';
export type { HistoryAdapter, HistoryApi } from './history/history.js';
export type { DiffAdapter, DiffApi } from './diff/diff.js';
export * from './diff/diff.types.js';
export type { SelectionMutationAdapter, SelectionMutationRequest, SelectionInsertRequest, } from './selection-mutation.js';
export type { RangeAnchor, DocumentEdgeAnchor, PointAnchor, RefBoundaryAnchor, ResolveRangeInput, ResolveRangeOutput, RangeBlockPreview, RangePreview, RangeResolverAdapter, ScrollIntoViewInput, ScrollIntoViewOutput, } from './ranges/index.js';
export { executeResolveRange } from './ranges/index.js';
export type { SelectionApi, SelectionAdapter, SelectionCurrentInput, SelectionInfo } from './selection/selection.js';
export { executeSelectionCurrent } from './selection/selection.js';
export type { HeaderFootersAdapter, HeaderFootersApi } from './header-footers/header-footers.js';
export * from './header-footers/header-footers.types.js';
export type { ClearContentAdapter, ClearContentInput } from './clear-content/clear-content.js';
export type { MarkdownToFragmentInput, MarkdownToFragmentAdapter, } from './markdown-to-fragment/markdown-to-fragment.js';
export { executeMarkdownToFragment } from './markdown-to-fragment/markdown-to-fragment.js';
export type { HistoryState, HistoryActionResult, HistoryNoopReason } from './history/history.types.js';
export type { GetAdapter } from './get/get.js';
export type { FindAdapter, FindOptions } from './find/find.js';
export type { GetNodeAdapter, GetNodeByIdInput } from './get-node/get-node.js';
export type { GetTextAdapter, GetTextInput } from './get-text/get-text.js';
export type { GetMarkdownAdapter, GetMarkdownInput } from './get-markdown/get-markdown.js';
export type { GetHtmlAdapter, GetHtmlInput } from './get-html/get-html.js';
export type { InfoAdapter, InfoInput } from './info/info.js';
export type { ExtractAdapter, ExtractInput } from './extract/extract.js';
export type { WriteAdapter, WriteRequest } from './write/write.js';
export type { FormatInlineAliasApi, FormatInlineAliasInput, FormatBoldInput, FormatItalicInput, FormatUnderlineInput, FormatStrikethroughInput, StyleApplyInput, StyleApplyOptions, } from './format/format.js';
export type { InlineRunPatch, InlineRunPatchKey, InlinePropertyStorage, InlinePropertyType, InlinePropertyCarrier, InlinePropertyRegistryEntry, UnderlinePatch, ShadingPatch, BorderPatch, FitTextPatch, LangPatch, RFontsPatch, EastAsianLayoutPatch, StylisticSetPatch, } from './format/inline-run-patch.js';
export { INLINE_PROPERTY_REGISTRY, INLINE_PROPERTY_KEY_SET, INLINE_PROPERTY_BY_KEY, INLINE_PROPERTY_KEYS_BY_STORAGE, validateInlineRunPatch, buildInlineRunPatchSchema, } from './format/inline-run-patch.js';
export { PROPERTY_REGISTRY, EXCLUDED_KEYS, ALLOWED_KEYS_BY_CHANNEL, getPropertyDefinition, toJsonSchema, buildPatchSchema, buildStateSchema, } from './styles/index.js';
export type { ValueSchema, MergeStrategy, PropertyDefinition, StylesAdapter, StylesApplyInput, StylesApplyRunInput, StylesApplyParagraphInput, StylesApplyOptions, StylesApplyReceipt, StylesBooleanState, StylesNumberState, StylesEnumState, StylesObjectState, StylesArrayState, StylesStateMap, StylesChannel, StylesRunPatch, StylesParagraphPatch, StylesTargetResolution, StylesApplyReceiptSuccess, StylesApplyReceiptFailure, NormalizedStylesApplyOptions, } from './styles/index.js';
export type { CreateAdapter } from './create/create.js';
export type { TrackChangesAdapter, TrackChangesGetInput, TrackChangesListInput, TrackChangesAcceptInput, TrackChangesRejectInput, TrackChangesAcceptAllInput, TrackChangesRejectAllInput, ReviewDecideInput, } from './track-changes/track-changes.js';
export type { BlocksAdapter } from './blocks/blocks.js';
export type { ImagesAdapter, ImagesApi, CreateImageAdapter } from './images/images.js';
export type { ImageAddress, ImageCreateLocation, ImageSummary, ImageWrapDistances, ImagePositionInput, ImageAnchorOptionsInput, ImageZOrderInput, CreateImageInput, CreateImageResult, ImagesListInput, ImagesListResult, ImagesGetInput, ImagesDeleteInput, ImagesMutationResult, ImagesMutationSuccessResult, ImagesMutationFailureResult, MoveImageInput, ConvertToInlineInput, ConvertToFloatingInput, SetSizeInput, SetWrapTypeInput, SetWrapSideInput, SetWrapDistancesInput, SetPositionInput, SetAnchorOptionsInput, SetZOrderInput, ScaleInput, SetLockAspectRatioInput, RotateInput, FlipInput, CropInput, ResetCropInput, ReplaceSourceInput, SetAltTextInput, SetDecorativeInput, SetNameInput, SetHyperlinkInput, InsertCaptionInput, UpdateCaptionInput, RemoveCaptionInput, } from './images/images.types.js';
export type { TocApi, TocAdapter } from './toc/toc.js';
export type { BookmarksApi, BookmarksAdapter } from './bookmarks/bookmarks.js';
export type { ProtectionApi, ProtectionAdapter } from './protection/protection.js';
export * from './protection/protection.types.js';
export type { PermissionRangesApi, PermissionRangesAdapter } from './permission-ranges/permission-ranges.js';
export type * from './permission-ranges/permission-ranges.types.js';
export type { FootnotesApi, FootnotesAdapter } from './footnotes/footnotes.js';
export type { CrossRefsApi, CrossRefsAdapter } from './cross-refs/cross-refs.js';
export type { IndexApi, IndexAdapter } from './index/index.js';
export type { CaptionsApi, CaptionsAdapter } from './captions/captions.js';
export type { FieldsApi, FieldsAdapter } from './fields/fields.js';
export type { CitationsApi, CitationsAdapter } from './citations/citations.js';
export type { AuthoritiesApi, AuthoritiesAdapter } from './authorities/authorities.js';
export type { TocAddress, TocSourceConfig, TocDisplayConfig, TocPreservedSwitches, TocConfigurePatch, TocSwitchConfig, TocDomain, TocListQuery, TocListResult, TocGetInput, TocInfo, TocConfigureInput, TocUpdateInput, TocRemoveInput, TocMutationResult, TocMutationSuccess, TocMutationFailure, TocCreateLocation, CreateTableOfContentsInput, CreateTableOfContentsResult, CreateTableOfContentsSuccess, CreateTableOfContentsFailure, TocEntryAddress, TocEntryInsertionTarget, TocMarkEntryInput, TocUnmarkEntryInput, TocListEntriesQuery, TocListEntriesResult, TocGetEntryInput, TocEntryInfo, TocEditEntryInput, TocEntryMutationResult, TocEntryMutationSuccess, TocEntryMutationFailure, TocEntryDomain, TocEntryProperties, } from './toc/toc.types.js';
export type { HyperlinksApi, HyperlinksAdapter } from './hyperlinks/hyperlinks.js';
export type { ContentControlsApi, ContentControlsAdapter, ContentControlsCreateAdapter, } from './content-controls/content-controls.js';
export type { ContentControlMutationResult, ContentControlMutationSuccess, ContentControlMutationFailure, ContentControlsListResult, ContentControlsListQuery, ContentControlTarget, ContentControlType, ContentControlProperties, ContentControlBinding, ContentControlSymbol, ContentControlListItem, ContentControlAppearance, LockMode, CreateContentControlInput, ContentControlsGetInput, ContentControlsWrapInput, ContentControlsUnwrapInput, ContentControlsDeleteInput, ContentControlsCopyInput, ContentControlsMoveInput, ContentControlsPatchInput, ContentControlsSetLockModeInput, ContentControlsSetTypeInput, ContentControlsGetContentInput, ContentControlsGetContentResult, ContentControlsReplaceContentInput, ContentControlsClearContentInput, ContentControlsAppendContentInput, ContentControlsPrependContentInput, ContentControlsInsertBeforeInput, ContentControlsInsertAfterInput, ContentControlsGetBindingInput, ContentControlsSetBindingInput, ContentControlsClearBindingInput, ContentControlsGetRawPropertiesInput, ContentControlsGetRawPropertiesResult, ContentControlsPatchRawPropertiesInput, RawPatchOp, ContentControlsValidateWordCompatibilityInput, ContentControlsValidateWordCompatibilityResult, WordCompatibilityDiagnostic, ContentControlsNormalizeWordCompatibilityInput, ContentControlsNormalizeTagPayloadInput, ContentControlsListInRangeInput, ContentControlsSelectByTagInput, ContentControlsSelectByTitleInput, ContentControlsListChildrenInput, ContentControlsGetParentInput, ContentControlsTextSetMultilineInput, ContentControlsTextSetValueInput, ContentControlsTextClearValueInput, ContentControlsDateSetValueInput, ContentControlsDateClearValueInput, ContentControlsDateSetDisplayFormatInput, ContentControlsDateSetDisplayLocaleInput, ContentControlsDateSetStorageFormatInput, ContentControlsDateSetCalendarInput, ContentControlsCheckboxGetStateInput, ContentControlsCheckboxGetStateResult, ContentControlsCheckboxSetStateInput, ContentControlsCheckboxToggleInput, ContentControlsCheckboxSetSymbolPairInput, ContentControlsChoiceListGetItemsInput, ContentControlsChoiceListGetItemsResult, ContentControlsChoiceListSetItemsInput, ContentControlsChoiceListSetSelectedInput, ContentControlsRepeatingSectionListItemsInput, ContentControlsRepeatingSectionListItemsResult, ContentControlsRepeatingSectionInsertItemBeforeInput, ContentControlsRepeatingSectionInsertItemAfterInput, ContentControlsRepeatingSectionCloneItemInput, ContentControlsRepeatingSectionDeleteItemInput, ContentControlsRepeatingSectionSetAllowInsertDeleteInput, ContentControlsGroupWrapInput, ContentControlsGroupUngroupInput, ContentControlsPaginationOptions, TextControlProperties, DateControlProperties, CheckboxControlProperties, ChoiceControlProperties, RepeatingSectionControlProperties, } from './content-controls/content-controls.types.js';
export { CONTENT_CONTROL_TYPES, LOCK_MODES, CONTENT_CONTROL_APPEARANCES, } from './content-controls/content-controls.types.js';
export type { HyperlinkTarget, HyperlinkDestination, HyperlinkSpec, HyperlinkPatch, HyperlinkReadProperties, HyperlinkDomain, HyperlinkInfo, HyperlinkMutationResult, HyperlinkMutationSuccess, HyperlinkMutationFailure, HyperlinksListResult, HyperlinksListQuery, HyperlinksGetInput, HyperlinksWrapInput, HyperlinksInsertInput, HyperlinksPatchInput, HyperlinksRemoveInput, } from './hyperlinks/hyperlinks.types.js';
export type * from './bookmarks/bookmarks.types.js';
export type * from './footnotes/footnotes.types.js';
export type * from './cross-refs/cross-refs.types.js';
export type * from './index/index.types.js';
export type * from './captions/captions.types.js';
export type * from './fields/fields.types.js';
export type * from './citations/citations.types.js';
export type * from './authorities/authorities.types.js';
export type { ListsAdapter } from './lists/lists.js';
export type { SectionsAdapter } from './sections/sections.js';
export type { ParagraphsAdapter, ParagraphFormatApi, ParagraphStylesApi } from './paragraphs/paragraphs.js';
export type { ParagraphTarget, ParagraphBlockType, ParagraphMutationResult, ParagraphMutationSuccess, ParagraphMutationFailure, MutationResolution, ParagraphAlignment, TabStopAlignment, TabStopLeader, BorderSide, ClearBorderSide, LineRule, ParagraphsSetStyleInput, ParagraphsClearStyleInput, ParagraphsResetDirectFormattingInput, ParagraphsSetAlignmentInput, ParagraphsClearAlignmentInput, ParagraphsSetIndentationInput, ParagraphsClearIndentationInput, ParagraphsSetSpacingInput, ParagraphsClearSpacingInput, ParagraphsSetKeepOptionsInput, ParagraphsSetOutlineLevelInput, ParagraphsSetFlowOptionsInput, ParagraphsSetTabStopInput, ParagraphsClearTabStopInput, ParagraphsClearAllTabStopsInput, ParagraphsSetBorderInput, ParagraphsClearBorderInput, ParagraphsSetShadingInput, ParagraphsClearShadingInput, ParagraphsSetDirectionInput, ParagraphsClearDirectionInput, ParagraphDirection, AlignmentPolicy, } from './paragraphs/paragraphs.js';
export { PARAGRAPH_ALIGNMENTS, TAB_STOP_ALIGNMENTS, TAB_STOP_LEADERS, BORDER_SIDES, CLEAR_BORDER_SIDES, LINE_RULES, PARAGRAPH_DIRECTIONS, ALIGNMENT_POLICIES, } from './paragraphs/paragraphs.js';
export type { BlockAddress, BlockRange, CanContinueReason, CanJoinReason, JoinDirection, ListInsertInput, ListItemAddress, ListItemInfo, ListKind, ListsAttachInput, ListsCanContinuePreviousInput, ListsCanContinuePreviousResult, ListsCanJoinInput, ListsCanJoinResult, ListsConvertToTextInput, ListsConvertToTextResult, ListsContinuePreviousInput, ListsCreateInput, ListsCreateResult, ListsDetachInput, ListsDetachResult, ListsFailureCode, ListsGetInput, ListsInsertResult, ListsJoinInput, ListsJoinResult, ListsListQuery, ListsListResult, ListsMutateItemResult, ListsSeparateInput, ListsSeparateResult, ListsMergeInput, ListsMergeResult, ListsSplitInput, ListsSplitResult, ListsSetLevelInput, ListsSetLevelRestartInput, ListsSetValueInput, ListTargetInput, MutationScope, LevelAlignment, TrailingCharacter, ListPresetId, ListLevelTemplate, ListTemplate, ListsApplyTemplateInput, ListsApplyPresetInput, ListsCaptureTemplateInput, ListsCaptureTemplateResult, ListsCaptureTemplateSuccessResult, ListsSetLevelNumberingInput, ListsSetLevelBulletInput, ListsSetLevelPictureBulletInput, ListsSetLevelAlignmentInput, ListsSetLevelIndentsInput, ListsSetLevelTrailingCharacterInput, ListsSetLevelMarkerFontInput, ListsClearLevelOverridesInput, ListsSetTypeInput, ListStyle, ListLevelStyle, ListLevelLayout, ListsGetStyleInput, ListsGetStyleResult, ListsGetStyleSuccessResult, ListsApplyStyleInput, ListsRestartAtInput, ListsSetLevelNumberStyleInput, ListsSetLevelTextInput, ListsSetLevelStartInput, ListsSetLevelLayoutInput, } from './lists/lists.types.js';
export { LIST_KINDS, LIST_INSERT_POSITIONS, JOIN_DIRECTIONS, MUTATION_SCOPES, LEVEL_ALIGNMENTS, TRAILING_CHARACTERS, LIST_PRESET_IDS, } from './lists/lists.types.js';
export type { CreateSectionBreakInput, CreateSectionBreakResult, DocumentMutationResult, SectionAddress, SectionBorderSpec, SectionBreakCreateLocation, SectionBreakType, SectionColumns, SectionDirection, SectionDomain, SectionHeaderFooterKind, SectionHeaderFooterMargins, SectionHeaderFooterRefs, SectionHeaderFooterVariant, SectionInfo, SectionLineNumbering, SectionLineNumberRestart, SectionMutationResult, SectionOrientation, SectionPageBorders, SectionPageMargins, SectionPageNumbering, SectionPageNumberingFormat, SectionPageSetup, SectionRangeDomain, SectionTargetInput, SectionVerticalAlign, SectionsClearHeaderFooterRefInput, SectionsClearPageBordersInput, SectionsGetInput, SectionsListQuery, SectionsListResult, SectionsSetBreakTypeInput, SectionsSetColumnsInput, SectionsSetHeaderFooterMarginsInput, SectionsSetHeaderFooterRefInput, SectionsSetLineNumberingInput, SectionsSetLinkToPreviousInput, SectionsSetOddEvenHeadersFootersInput, SectionsSetPageBordersInput, SectionsSetPageMarginsInput, SectionsSetPageNumberingInput, SectionsSetPageSetupInput, SectionsSetSectionDirectionInput, SectionsSetTitlePageInput, SectionsSetVerticalAlignInput, } from './sections/sections.types.js';
export type { CommentsCreateInput, CommentsPatchInput, CommentsDeleteInput, CommentsAdapter, GetCommentInput, AddCommentInput, EditCommentInput, ReplyToCommentInput, MoveCommentInput, ResolveCommentInput, ReopenCommentInput, RemoveCommentInput, SetCommentInternalInput, GoToCommentInput, SetCommentActiveInput, } from './comments/comments.js';
export type { CommentInfo, CommentsListQuery, CommentsListResult } from './comments/comments.types.js';
export { DocumentApiValidationError } from './errors.js';
export { textReceiptToSDReceipt, buildStructuralReceipt } from './receipt-bridge.js';
export type { StructuralReceiptParams } from './receipt-bridge.js';
export { isBlockNodeAddress } from './validation-primitives.js';
export type { InsertInput, InsertContentType, TextInsertInput, LegacyInsertInput } from './insert/insert.js';
export { isStructuralInsertInput } from './insert/insert.js';
export type { ReplaceInput, TextReplaceInput } from './replace/replace.js';
export { isStructuralReplaceInput } from './replace/replace.js';
export { validateDocumentFragment, validateSDFragment } from './validation/fragment-validator.js';
export type { DeleteInput } from './delete/delete.js';
export interface TablesApi {
    convertFromText(input: TablesConvertFromTextInput, options?: MutationOptions): TableMutationResult;
    delete(input: TableLocator, options?: MutationOptions): TableMutationResult;
    clearContents(input: TableLocator, options?: MutationOptions): TableMutationResult;
    move(input: TablesMoveInput, options?: MutationOptions): TableMutationResult;
    split(input: TablesSplitInput, options?: MutationOptions): TableMutationResult;
    convertToText(input: TablesConvertToTextInput, options?: MutationOptions): TableMutationResult;
    setLayout(input: TablesSetLayoutInput, options?: MutationOptions): TableMutationResult;
    insertRow(input: TablesInsertRowInput, options?: MutationOptions): TableMutationResult;
    deleteRow(input: TablesDeleteRowInput, options?: MutationOptions): TableMutationResult;
    setRowHeight(input: TablesSetRowHeightInput, options?: MutationOptions): TableMutationResult;
    distributeRows(input: TablesDistributeRowsInput, options?: MutationOptions): TableMutationResult;
    setRowOptions(input: TablesSetRowOptionsInput, options?: MutationOptions): TableMutationResult;
    insertColumn(input: TablesInsertColumnInput, options?: MutationOptions): TableMutationResult;
    deleteColumn(input: TablesDeleteColumnInput, options?: MutationOptions): TableMutationResult;
    setColumnWidth(input: TablesSetColumnWidthInput, options?: MutationOptions): TableMutationResult;
    distributeColumns(input: TablesDistributeColumnsInput, options?: MutationOptions): TableMutationResult;
    insertCell(input: TablesInsertCellInput, options?: MutationOptions): TableMutationResult;
    deleteCell(input: TablesDeleteCellInput, options?: MutationOptions): TableMutationResult;
    mergeCells(input: TablesMergeCellsInput, options?: MutationOptions): TableMutationResult;
    unmergeCells(input: TablesUnmergeCellsInput, options?: MutationOptions): TableMutationResult;
    splitCell(input: TablesSplitCellInput, options?: MutationOptions): TableMutationResult;
    setCellProperties(input: TablesSetCellPropertiesInput, options?: MutationOptions): TableMutationResult;
    sort(input: TablesSortInput, options?: MutationOptions): TableMutationResult;
    setAltText(input: TablesSetAltTextInput, options?: MutationOptions): TableMutationResult;
    setStyle(input: TablesSetStyleInput, options?: MutationOptions): TableMutationResult;
    clearStyle(input: TablesClearStyleInput, options?: MutationOptions): TableMutationResult;
    setStyleOption(input: TablesSetStyleOptionInput, options?: MutationOptions): TableMutationResult;
    setBorder(input: TablesSetBorderInput, options?: MutationOptions): TableMutationResult;
    clearBorder(input: TablesClearBorderInput, options?: MutationOptions): TableMutationResult;
    applyBorderPreset(input: TablesApplyBorderPresetInput, options?: MutationOptions): TableMutationResult;
    setShading(input: TablesSetShadingInput, options?: MutationOptions): TableMutationResult;
    clearShading(input: TablesClearShadingInput, options?: MutationOptions): TableMutationResult;
    setTablePadding(input: TablesSetTablePaddingInput, options?: MutationOptions): TableMutationResult;
    setCellPadding(input: TablesSetCellPaddingInput, options?: MutationOptions): TableMutationResult;
    setCellSpacing(input: TablesSetCellSpacingInput, options?: MutationOptions): TableMutationResult;
    clearCellSpacing(input: TablesClearCellSpacingInput, options?: MutationOptions): TableMutationResult;
    applyStyle(input: TablesApplyStyleInput, options?: MutationOptions): TableMutationResult;
    setBorders(input: TablesSetBordersInput, options?: MutationOptions): TableMutationResult;
    setTableOptions(input: TablesSetTableOptionsInput, options?: MutationOptions): TableMutationResult;
    get(input: TablesGetInput): TablesGetOutput;
    getCells(input: TablesGetCellsInput): TablesGetCellsOutput;
    getProperties(input: TablesGetPropertiesInput): TablesGetPropertiesOutput;
    getStyles(input?: TablesGetStylesInput): TablesGetStylesOutput;
    setDefaultStyle(input: TablesSetDefaultStyleInput, options?: MutationOptions): DocumentMutationResult;
    clearDefaultStyle(input?: TablesClearDefaultStyleInput, options?: MutationOptions): DocumentMutationResult;
}
export type TablesAdapter = TablesApi;
/**
 * Callable capability accessor returned by `createDocumentApi`.
 *
 * Can be invoked directly (`capabilities()`) or via the `.get()` alias.
 */
export interface CapabilitiesApi {
    (): DocumentApiCapabilities;
    get(): DocumentApiCapabilities;
}
export interface QueryApi {
    /** Canonical nested input. */
    match(input: QueryMatchInput): QueryMatchOutput;
    /** TS shorthand: pass a TextSelector or NodeSelector directly (normalized to `{ select: ... }` internally). */
    match(selector: TextSelector | NodeSelector): QueryMatchOutput;
}
export interface MutationsApi {
    preview(input: MutationsPreviewInput): MutationsPreviewOutput;
    apply(input: MutationsApplyInput): PlanReceipt;
}
export interface RangesApi {
    resolve(input: ResolveRangeInput): ResolveRangeOutput;
}
export interface RangesAdapter {
    resolve(input: ResolveRangeInput): ResolveRangeOutput;
}
export interface QueryAdapter {
    match(input: QueryMatchInput): QueryMatchOutput;
}
export interface MutationsAdapter {
    preview(input: MutationsPreviewInput): MutationsPreviewOutput;
    apply(input: MutationsApplyInput): PlanReceipt;
}
/**
 * The Document API interface for querying and inspecting document nodes.
 */
export interface DocumentApi {
    /**
     * Read the full document as an SDDocument structure.
     * @param input - Get input with optional read options.
     * @returns An SDDocument with body content projected into SDM/1 canonical shapes.
     */
    get(input: SDGetInput): SDDocument;
    /**
     * Find nodes in the document matching an SDFindInput.
     * @param input - The find input with selector, pagination, and scope.
     * @returns An SDFindResult with matching SDNodeResult items.
     */
    find(input: SDFindInput): SDFindResult;
    /**
     * Get a node by its address as an SDNodeResult.
     * @param address - The node address to resolve.
     * @returns SDNodeResult with the projected node and its address.
     */
    getNode(address: NodeAddress): SDNodeResult;
    /**
     * Get a block node by its ID as an SDNodeResult.
     * @param input - The node-id input payload.
     * @returns SDNodeResult with the projected node and its address.
     */
    getNodeById(input: GetNodeByIdInput): SDNodeResult;
    /**
     * Return the full document text content.
     */
    getText(input: GetTextInput): string;
    /**
     * Return the full document content as a Markdown string.
     */
    getMarkdown(input: GetMarkdownInput): string;
    /**
     * Return the full document content as an HTML string.
     */
    getHtml(input: GetHtmlInput): string;
    /**
     * Convert a Markdown string into an SDM/1 structural fragment.
     */
    markdownToFragment(input: MarkdownToFragmentInput): SDMarkdownToFragmentResult;
    /**
     * Return document summary info including document counts and capabilities.
     */
    info(input: InfoInput): DocumentInfo;
    /**
     * Extract all document content with stable IDs for RAG pipelines.
     * Returns blocks with full text, comments, and tracked changes.
     */
    extract(input: ExtractInput): ExtractResult;
    /**
     * Clear all document body content, leaving a single empty paragraph.
     */
    clearContent(input: ClearContentInput, options?: RevisionGuardOptions): Receipt;
    /**
     * Comment operations.
     */
    comments: CommentsApi;
    /**
     * Insert content at a target location.
     * If target is omitted, inserts at the end of the document.
     */
    insert(input: InsertInput, options?: MutationOptions): SDMutationReceipt;
    /**
     * Replace text at a target range.
     */
    replace(input: ReplaceInput, options?: MutationOptions): SDMutationReceipt;
    /**
     * Delete text at a target range.
     */
    delete(input: DeleteInput, options?: MutationOptions): TextMutationReceipt;
    /**
     * Formatting operations (inline and paragraph direct formatting).
     */
    format: FormatApi & {
        paragraph: ParagraphFormatApi;
    };
    /**
     * Stylesheet operations (docDefaults, style definitions, paragraph style references).
     */
    styles: StylesApi & {
        paragraph: ParagraphStylesApi;
    };
    /**
     * Tracked-change operations (list, get, decide).
     */
    trackChanges: TrackChangesApi;
    /**
     * Block-level structural operations (list, delete, delete-range).
     */
    blocks: BlocksApi;
    /**
     * Structural creation operations.
     */
    create: CreateApi;
    /**
     * List item operations.
     */
    lists: ListsApi;
    /**
     * Section structure and page setup operations.
     */
    sections: SectionsApi;
    /**
     * Table operations.
     */
    tables: TablesApi;
    /**
     * Table of contents operations.
     */
    toc: TocApi;
    /**
     * Image lifecycle and placement operations.
     */
    images: ImagesApi;
    /**
     * Hyperlink discovery, creation, and metadata management.
     */
    hyperlinks: HyperlinksApi;
    /**
     * Header/footer structure, references, and part lifecycle operations.
     */
    headerFooters: HeaderFootersApi;
    /**
     * Content control (SDT) discovery, mutation, and typed-control operations.
     */
    contentControls: ContentControlsApi;
    /**
     * Bookmark operations.
     */
    bookmarks: BookmarksApi;
    /**
     * Footnote and endnote operations.
     */
    footnotes: FootnotesApi;
    /**
     * Cross-reference field operations.
     */
    crossRefs: CrossRefsApi;
    /**
     * Index (INDEX field) and XE entry operations.
     */
    index: IndexApi;
    /**
     * Caption paragraph operations.
     */
    captions: CaptionsApi;
    /**
     * Raw field operations.
     */
    fields: FieldsApi;
    /**
     * Citation, source, and bibliography operations.
     */
    citations: CitationsApi;
    /**
     * Table of authorities and TA entry operations.
     */
    authorities: AuthoritiesApi;
    /**
     * Selector-based query with cardinality contracts for mutation targeting.
     */
    query: QueryApi;
    /**
     * Deterministic range construction from explicit document anchors.
     */
    ranges: RangesApi;
    /**
     * Read the editor's current selection as a portable SelectionInfo.
     * Primitive for custom UIs (toolbars, sidebars, popovers).
     */
    selection: SelectionApi;
    /**
     * Mutation plan engine: preview and apply atomic mutation plans.
     */
    mutations: MutationsApi;
    /**
     * Snapshot-based document comparison and replay.
     */
    diff: DiffApi;
    /**
     * History operations (undo/redo) scoped to the active editor instance.
     * Session-scoped: reflects the runtime undo/redo stack, not persistent state.
     */
    history: HistoryApi;
    /**
     * Document-level protection state and editing restriction operations.
     */
    protection: ProtectionApi;
    /**
     * Permission range exception operations for protected documents.
     */
    permissionRanges: PermissionRangesApi;
    /**
     * Runtime capability introspection.
     *
     * Callable directly (`capabilities()`) or via `.get()`.
     */
    capabilities: CapabilitiesApi;
    /**
     * Dynamically dispatch any operation by its operation ID.
     *
     * For TypeScript consumers, the return type narrows based on the operationId.
     * For dynamic callers (AI agents, automation), accepts {@link DynamicInvokeRequest}
     * with `unknown` input. Invalid inputs produce adapter-level errors.
     *
     * @param request - Operation envelope with operationId, input, and optional options.
     * @returns The operation-specific result payload from the dispatched handler.
     * @throws {Error} When operationId is unknown.
     */
    invoke<T extends OperationId>(request: InvokeRequest<T>): InvokeResult<T>;
    invoke(request: DynamicInvokeRequest): unknown;
}
export interface DocumentApiAdapters {
    get: GetAdapter;
    find: FindAdapter;
    getNode: GetNodeAdapter;
    getText: GetTextAdapter;
    getMarkdown: GetMarkdownAdapter;
    getHtml: GetHtmlAdapter;
    markdownToFragment: MarkdownToFragmentAdapter;
    info: InfoAdapter;
    extract: ExtractAdapter;
    clearContent: ClearContentAdapter;
    capabilities: CapabilitiesAdapter;
    comments: CommentsAdapter;
    write: WriteAdapter;
    selectionMutation: SelectionMutationAdapter;
    styles: StylesAdapter;
    trackChanges: TrackChangesAdapter;
    create: CreateAdapter;
    blocks: BlocksAdapter;
    lists: ListsAdapter;
    sections: SectionsAdapter;
    paragraphs: ParagraphsAdapter;
    tables: TablesAdapter;
    toc: TocAdapter;
    images: ImagesAdapter & CreateImageAdapter;
    hyperlinks: HyperlinksAdapter;
    headerFooters: HeaderFootersAdapter;
    contentControls: ContentControlsAdapter & ContentControlsCreateAdapter;
    bookmarks?: BookmarksAdapter;
    footnotes?: FootnotesAdapter;
    crossRefs?: CrossRefsAdapter;
    index?: IndexAdapter;
    captions?: CaptionsAdapter;
    fields?: FieldsAdapter;
    citations?: CitationsAdapter;
    authorities?: AuthoritiesAdapter;
    ranges: RangesAdapter;
    /**
     * Optional: when omitted, `editor.doc.selection.*` throws
     * `SELECTION_ADAPTER_UNAVAILABLE`. All first-party engines register one;
     * external consumers constructing an adapter bag manually should only
     * need this if they invoke selection operations.
     */
    selection?: SelectionAdapter;
    query: QueryAdapter;
    mutations: MutationsAdapter;
    diff: DiffAdapter;
    history: HistoryAdapter;
    protection: ProtectionAdapter;
    permissionRanges: PermissionRangesAdapter;
}
export declare function createDocumentApi(adapters: DocumentApiAdapters): DocumentApi;
//# sourceMappingURL=index.d.ts.map