import type { CompactStrInsOp } from '../codec/compact/types';
import { AbstractOp } from './AbstractOp';
import type { OperationStrIns } from '../types';
import { type Path } from '@jsonjoy.com/json-pointer';
import { OPCODE } from '../constants';
import type { IMessagePackEncoder } from '@jsonjoy.com/json-pack/lib/msgpack';
/**
 * @category JSON Patch Extended
 */
export declare class OpStrIns extends AbstractOp<'str_ins'> {
    readonly pos: number;
    readonly str: string;
    constructor(path: Path, pos: number, str: string);
    op(): "str_ins";
    code(): OPCODE;
    apply(doc: unknown): {
        doc: unknown;
        old: string | undefined;
    };
    toJson(parent?: AbstractOp): OperationStrIns;
    toCompact(parent: undefined | AbstractOp, verbose: boolean): CompactStrInsOp;
    encode(encoder: IMessagePackEncoder, parent?: AbstractOp): void;
}
