import type { FileProcessingState } from './write-file';
import type { ClientToolCall, LevelCodeToolCall, LevelCodeToolOutput } from '@levelcode/common/tools/list';
import type { RequestOptionalFileFn } from '@levelcode/common/types/contracts/client';
import type { Logger } from '@levelcode/common/types/contracts/logger';
import type { ParamsExcluding } from '@levelcode/common/types/function-params';
export declare const handleStrReplace: (params: {
    previousToolCallFinished: Promise<void>;
    toolCall: LevelCodeToolCall<"str_replace">;
    fileProcessingState: FileProcessingState;
    logger: Logger;
    requestClientToolCall: (toolCall: ClientToolCall<"str_replace">) => Promise<LevelCodeToolOutput<"str_replace">>;
    writeToClient: (chunk: string) => void;
    requestOptionalFile: RequestOptionalFileFn;
} & ParamsExcluding<RequestOptionalFileFn, "filePath">) => Promise<{
    output: LevelCodeToolOutput<"str_replace">;
}>;
