import { type WorkspaceFs, type WorkspaceInfo } from "@oscharko-dev/keiko-workspace";
import { type WorkspaceWriter } from "./writer.js";
import { type PatchApplyResult, type PatchLimits, type PatchValidation } from "./types.js";
export interface ValidateDeps {
    readonly fs?: WorkspaceFs | undefined;
    readonly limits?: PatchLimits | undefined;
}
export declare function validatePatch(workspace: WorkspaceInfo, diff: string, deps?: ValidateDeps): PatchValidation;
export declare function renderDryRun(validation: PatchValidation): string;
export interface ApplyDeps {
    readonly applyEnabled: boolean;
    readonly signal: AbortSignal;
    readonly fs?: WorkspaceFs | undefined;
    readonly writer?: WorkspaceWriter | undefined;
    readonly limits?: PatchLimits | undefined;
}
export declare function applyPatch(workspace: WorkspaceInfo, diff: string, deps: ApplyDeps): PatchApplyResult;
//# sourceMappingURL=patch.d.ts.map