import { Node as ProseMirrorNode } from 'prosemirror-model';
import { SectionAddress, SectionDomain, SectionInfo, SectionsListQuery, SectionsListResult } from '../../../../../../document-api/src/index.js';
import { SectionRange } from '@superdoc/pm-adapter/sections/types.js';
import { Editor } from '../../core/Editor.js';
import { XmlElement } from './sections-xml.js';
export type SectionMutationTarget = {
    kind: 'paragraph';
    paragraphIndex: number;
    pos: number;
    node: ProseMirrorNode;
    nodeId: string;
} | {
    kind: 'body';
};
export interface SectionProjection {
    sectionId: string;
    address: SectionAddress;
    range: SectionRange;
    target: SectionMutationTarget;
    domain: SectionDomain;
}
export declare function getBodySectPrFromEditor(editor: Editor): XmlElement | null;
export declare function resolveSectionProjections(editor: Editor): SectionProjection[];
export declare function resolveSectionProjectionByAddress(editor: Editor, address: SectionAddress): SectionProjection;
export declare function resolveSectionProjectionByIndex(editor: Editor, index: number): SectionProjection | undefined;
export declare function getDefaultSectionAddress(editor: Editor): SectionAddress;
export declare function sectionsListAdapter(editor: Editor, query?: SectionsListQuery): SectionsListResult;
export declare function sectionsGetAdapter(editor: Editor, address: SectionAddress): SectionInfo;
//# sourceMappingURL=sections-resolver.d.ts.map