import { Fragment, Slice } from '@atlaskit/editor-prosemirror/model';
import type { Node } from '@atlaskit/editor-prosemirror/model';
export declare function mapFragment(content: Fragment, callback: (node: Node, parent: Node | null, index: number) => Node | Node[] | Fragment | null, parent?: Node | null): Fragment;
export declare function mapSlice(slice: Slice, callback: (node: Node, parent: Node | null, index: number) => Node | Node[] | Fragment | null): Slice;
export type FlatMapCallback = (node: Node, index: number, fragment: Fragment) => Node | Node[];
export declare function flatmap(fragment: Fragment, callback: FlatMapCallback): Fragment;
export type MapWithCallback<T> = (node: Node, index: number, fragment: Fragment) => T;
export declare function mapChildren<T>(node: Node | Fragment, callback: MapWithCallback<T>): Array<T>;
export declare const hasNode: (predicate: (node: Node) => boolean) => (slice: Slice) => boolean;
export { getFragmentBackingArray } from './getFragmentBackingArray';
