import { InferInlineNode, InferLeafBlockNode, InferVoidNode } from './types-infer.js'; import { BlockNode, DocNode, Node, Path, DomPosition, Range } from './types.js'; export declare const getNodeSize: (node: Node) => number; export declare const getChildAt: ({ children }: T, offset: number, isBackwardAffinity?: boolean) => [node: T["children"][number], offset: number, index: number] | null; export declare const getLeafBlockAt: (node: T, offset: number) => [node: InferLeafBlockNode, offset: number, path: Path]; export declare const getLeafAt: (node: T, offset: number, isBackwardAffinity?: boolean) => [node: InferInlineNode, offset: number, path: Path] | null; export declare const getNodeOffset: (root: DocNode | BlockNode, target: Node) => number | null; export declare const offsetToPosition: (node: DocNode | BlockNode, offset: number) => DomPosition; export declare function iterLeafBlocks(node: T, range: Range): Generator<[node: InferLeafBlockNode, offset: number], void, void>; export declare function iterLeaves(node: T, range: Range): Generator<[node: InferInlineNode, offset: number], void, void>; export declare const sliceText: (node: T, start?: number, end?: number, voidToString?: (node: InferVoidNode) => string) => string;