/** SDK-owned platform module. This implementation is maintained in goodvibes-sdk. */
/** JSON Schema definition for the edit tool input. */
export declare const editSchema: {
    readonly type: "object";
    readonly properties: {
        readonly edits: {
            readonly type: "array";
            readonly minItems: 1;
            readonly items: {
                readonly type: "object";
                readonly required: readonly ["path", "find", "replace"];
                readonly properties: {
                    readonly path: {
                        readonly type: "string";
                        readonly description: "File path to edit (relative to project root or absolute within it)";
                    };
                    readonly find: {
                        readonly type: "string";
                        readonly description: "Text to find in the file";
                    };
                    readonly find_base64: {
                        readonly type: "string";
                        readonly description: "Base64-encoded text to find (alternative to find for binary-safe transport)";
                    };
                    readonly replace: {
                        readonly type: "string";
                        readonly description: "Replacement text";
                    };
                    readonly replace_base64: {
                        readonly type: "string";
                        readonly description: "Base64-encoded replacement text (alternative to replace for binary-safe transport)";
                    };
                    readonly id: {
                        readonly type: "string";
                        readonly description: "Optional identifier for this edit, used in result tracking";
                    };
                    readonly occurrence: {
                        readonly oneOf: readonly [{
                            readonly type: "string";
                            readonly enum: readonly ["first", "last", "all"];
                            readonly description: "Which occurrence to replace: first, last, or all";
                        }, {
                            readonly type: "integer";
                            readonly minimum: 1;
                            readonly description: "Replace the Nth occurrence (1-based)";
                        }];
                        readonly description: string;
                    };
                    readonly hints: {
                        readonly type: "object";
                        readonly properties: {
                            readonly near_line: {
                                readonly type: "integer";
                                readonly minimum: 1;
                                readonly description: "Prefer the occurrence closest to this line number";
                            };
                            readonly in_function: {
                                readonly type: "string";
                                readonly description: "Only match within a function with this name";
                            };
                            readonly in_class: {
                                readonly type: "string";
                                readonly description: "Only match within a class with this name";
                            };
                            readonly after: {
                                readonly type: "string";
                                readonly description: "Only match occurrences that appear after this text anchor in the file";
                            };
                            readonly before: {
                                readonly type: "string";
                                readonly description: "Only match occurrences that appear before this text anchor in the file";
                            };
                        };
                        readonly additionalProperties: false;
                    };
                };
                readonly additionalProperties: false;
            };
        };
        readonly match: {
            readonly type: "object";
            readonly properties: {
                readonly mode: {
                    readonly type: "string";
                    readonly enum: readonly ["exact", "fuzzy", "regex", "ast", "ast_pattern"];
                    readonly description: string;
                    readonly default: "exact";
                };
                readonly case_sensitive: {
                    readonly type: "boolean";
                    readonly description: "Whether matching is case-sensitive. Default: true.";
                    readonly default: true;
                };
                readonly whitespace_sensitive: {
                    readonly type: "boolean";
                    readonly description: "Whether whitespace differences matter. When false in exact mode, delegates to fuzzy matching algorithm. Default: true.";
                    readonly default: true;
                };
                readonly multiline: {
                    readonly type: "boolean";
                    readonly description: string;
                    readonly default: false;
                };
            };
            readonly additionalProperties: false;
        };
        readonly transaction: {
            readonly type: "object";
            readonly properties: {
                readonly mode: {
                    readonly type: "string";
                    readonly enum: readonly ["atomic", "partial", "none"];
                    readonly description: string;
                    readonly default: "atomic";
                };
            };
            readonly additionalProperties: false;
        };
        readonly output: {
            readonly type: "object";
            readonly properties: {
                readonly format: {
                    readonly type: "string";
                    readonly enum: readonly ["count_only", "minimal", "with_diff", "verbose"];
                    readonly description: string;
                    readonly default: "minimal";
                };
                readonly diff_context: {
                    readonly type: "integer";
                    readonly minimum: 0;
                    readonly description: string;
                    readonly default: 3;
                };
            };
            readonly additionalProperties: false;
        };
        readonly dry_run: {
            readonly type: "boolean";
            readonly description: "Compute all replacements and return diffs without writing to disk. Default: false.";
            readonly default: false;
        };
        readonly validate: {
            readonly type: "object";
            readonly description: "Run validators before and/or after applying edits.";
            readonly properties: {
                readonly before: {
                    readonly type: "array";
                    readonly description: "Validators to run before applying edits. If any fail, edits are not applied.";
                    readonly items: {
                        readonly type: "string";
                        readonly enum: readonly ["typecheck", "lint", "test", "build"];
                    };
                };
                readonly after: {
                    readonly type: "array";
                    readonly description: "Validators to run after applying edits. If any fail in atomic mode, edits are rolled back.";
                    readonly items: {
                        readonly type: "string";
                        readonly enum: readonly ["typecheck", "lint", "test", "build"];
                    };
                };
            };
            readonly additionalProperties: false;
        };
        readonly notebook_operations: {
            readonly type: "object";
            readonly description: "Jupyter notebook (.ipynb) cell operations. Alternative to edits — provide either edits or notebook_operations, not both.";
            readonly properties: {
                readonly path: {
                    readonly type: "string";
                    readonly description: "Path to .ipynb notebook file";
                };
                readonly operations: {
                    readonly type: "array";
                    readonly minItems: 1;
                    readonly items: {
                        readonly type: "object";
                        readonly required: readonly ["op"];
                        readonly properties: {
                            readonly op: {
                                readonly type: "string";
                                readonly enum: readonly ["replace", "insert", "delete"];
                                readonly description: "Cell operation: replace existing cell content, insert a new cell, or delete a cell";
                            };
                            readonly cell: {
                                readonly type: "integer";
                                readonly minimum: 0;
                                readonly description: "0-based cell index (used by replace/delete when cell_id is not provided)";
                            };
                            readonly cell_id: {
                                readonly type: "string";
                                readonly description: "Cell ID targeting — takes precedence over cell index for all operations";
                            };
                            readonly after: {
                                readonly type: "integer";
                                readonly minimum: -1;
                                readonly description: "For insert: insert after this 0-based index (-1 = insert at beginning). Omit to append at end.";
                            };
                            readonly source: {
                                readonly type: "string";
                                readonly description: "Cell source content (required for replace and insert operations)";
                            };
                            readonly cell_type: {
                                readonly type: "string";
                                readonly enum: readonly ["code", "markdown", "raw"];
                                readonly description: "Cell type (required for insert; optional for replace — if provided, changes the cell type)";
                            };
                            readonly clear_outputs: {
                                readonly type: "boolean";
                                readonly description: "Clear cell outputs on replace (default: false)";
                            };
                        };
                        readonly additionalProperties: false;
                    };
                };
            };
            readonly required: readonly ["path", "operations"];
            readonly additionalProperties: false;
        };
    };
    readonly additionalProperties: false;
};
//# sourceMappingURL=schema.d.ts.map