import type { RicosDocumentNode } from '../ricos-schema/next-schema/index.js';
export type RangeAiRegion = {
    type: 'range';
    from?: string;
    to?: string;
    excluded?: boolean;
    overlay?: HTMLElement;
    originalNodesRef: {
        current?: RicosDocumentNode[];
    };
};
export type AfterAiRegion = {
    type: 'afterNode';
    id?: string;
    overlay?: HTMLElement;
};
export type AiRegion = RangeAiRegion | AfterAiRegion;
export type DocumentChange = {
    nodes: RicosDocumentNode[];
    position: AiRegion;
};
declare module '../tiptap/core/index' {
    interface Commands<ReturnType> {
        aiRegion: {
            addAiRegions: (regions: AiRegion[]) => ReturnType;
            syncAiRegions: (regions: AiRegion[]) => ReturnType;
            removeAiRegions: (regions: AiRegion[]) => ReturnType;
            removeAllAiRegions: () => ReturnType;
            acceptRegions: (changes: DocumentChange[]) => ReturnType;
        };
    }
}
export declare const aiRegion: import("../ricos-types/tiptap").RicosFunctionalExtension<unknown, unknown>;
//# sourceMappingURL=ai-region-extension.d.ts.map