export type ApplyPatchCreateFileOp = {
    type: "create";
    path: string;
    content: string;
};
export type ApplyPatchDeleteFileOp = {
    type: "delete";
    path: string;
};
export type ApplyPatchUpdateFileOp = {
    type: "update";
    path: string;
    update: string;
    added: number;
    deleted: number;
};
export type ApplyPatchOp = ApplyPatchCreateFileOp | ApplyPatchDeleteFileOp | ApplyPatchUpdateFileOp;
export declare const PATCH_PREFIX = "*** Begin Patch\n";
export declare const PATCH_SUFFIX = "\n*** End Patch";
export declare const ADD_FILE_PREFIX = "*** Add File: ";
export declare const DELETE_FILE_PREFIX = "*** Delete File: ";
export declare const UPDATE_FILE_PREFIX = "*** Update File: ";
export declare const MOVE_FILE_TO_PREFIX = "*** Move to: ";
export declare const END_OF_FILE_PREFIX = "*** End of File";
export declare const HUNK_ADD_LINE_PREFIX = "+";
/**
 * @returns null when the patch is invalid
 */
export declare function parseApplyPatch(patch: string): Array<ApplyPatchOp> | null;
