import { Transaction } from "prosemirror-state";
import { Step, Transform } from "prosemirror-transform";
export type AgentStep = {
    prosemirrorSteps: Step[];
    selection: {
        anchor: number;
        head: number;
    } | undefined;
    type: "select" | "replace" | "insert";
};
/**
 * Takes an array of ReplaceSteps and applies them as a human-like agent.
 * Every step is split into 3 phases:
 * - select the text to be replaced (1 transaction per ReplaceStep)
 * - replace the text with the first character of the replacement (if any) (1 transaction per ReplaceStep)
 * - insert the replacement character by character (strlen-1 transactions per ReplaceStep)
 */
export declare function getStepsAsAgent(inputTr: Transform): AgentStep[];
export declare function delayAgentStep(step: AgentStep): Promise<void>;
export declare function applyAgentStep(tr: Transaction, step: AgentStep): Transaction;
