import { z } from "zod";
/**
 * Represents a file operation, including modifications, deletes, and moves.
 */
export declare const FileOperationSchema: z.ZodObject<{
    /**
     * Absolute path to the file.
     */
    path: z.ZodString;
    /**
     * FULL CONTENT of the file after modification. Provides the FULL AND FINAL content of
     * the file after modification WITHOUT OMITTING OR TRUNCATING ANY PART OF THE FILE.
     *
     * Mutually exclusive with 'delete' and 'move_to'.
     */
    updated_full_content: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    /**
     * Set to true if the file is to be deleted.
     *
     * Mutually exclusive with 'updated_full_content' and 'move_to'.
     */
    delete: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
    /**
     * New path of the file if it is to be moved.
     *
     * Mutually exclusive with 'updated_full_content' and 'delete'.
     */
    move_to: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    path: string;
    delete?: boolean | null | undefined;
    updated_full_content?: string | null | undefined;
    move_to?: string | null | undefined;
}, {
    path: string;
    delete?: boolean | null | undefined;
    updated_full_content?: string | null | undefined;
    move_to?: string | null | undefined;
}>;
export type FileOperation = z.infer<typeof FileOperationSchema>;
/**
 * Container for one or more FileOperation objects.
 */
export declare const EditedFilesSchema: z.ZodObject<{
    /**
     * A list of file operations that are applied in order.
     */
    ops: z.ZodArray<z.ZodObject<{
        /**
         * Absolute path to the file.
         */
        path: z.ZodString;
        /**
         * FULL CONTENT of the file after modification. Provides the FULL AND FINAL content of
         * the file after modification WITHOUT OMITTING OR TRUNCATING ANY PART OF THE FILE.
         *
         * Mutually exclusive with 'delete' and 'move_to'.
         */
        updated_full_content: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        /**
         * Set to true if the file is to be deleted.
         *
         * Mutually exclusive with 'updated_full_content' and 'move_to'.
         */
        delete: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
        /**
         * New path of the file if it is to be moved.
         *
         * Mutually exclusive with 'updated_full_content' and 'delete'.
         */
        move_to: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, "strip", z.ZodTypeAny, {
        path: string;
        delete?: boolean | null | undefined;
        updated_full_content?: string | null | undefined;
        move_to?: string | null | undefined;
    }, {
        path: string;
        delete?: boolean | null | undefined;
        updated_full_content?: string | null | undefined;
        move_to?: string | null | undefined;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    ops: {
        path: string;
        delete?: boolean | null | undefined;
        updated_full_content?: string | null | undefined;
        move_to?: string | null | undefined;
    }[];
}, {
    ops: {
        path: string;
        delete?: boolean | null | undefined;
        updated_full_content?: string | null | undefined;
        move_to?: string | null | undefined;
    }[];
}>;
export type EditedFiles = z.infer<typeof EditedFilesSchema>;
