export type StructuredApplyPatchKind = 'insert_after' | 'insert_before' | 'replace' | 'delete' | 'create_file' | 'delete_file';
export interface StructuredApplyPatchChange {
    file?: string;
    kind: StructuredApplyPatchKind | string;
    anchor?: string;
    target?: string;
    lines?: string[] | string;
    use_anchor_indent?: boolean;
}
export interface StructuredApplyPatchPayload extends Record<string, unknown> {
    instructions?: string;
    file?: string;
    changes: StructuredApplyPatchChange[];
}
export declare class StructuredApplyPatchError extends Error {
    reason: string;
    constructor(reason: string, message: string);
}
export declare function buildStructuredPatch(payload: StructuredApplyPatchPayload): string;
export declare function isStructuredApplyPatchPayload(candidate: unknown): candidate is StructuredApplyPatchPayload;
