import type { AgentTool } from "../types.js";
import { type Static } from "@sinclair/typebox";
import { getProcessController, type ProcessController, type ProcessControllerOptions } from "./process-controller.js";
import type { ProcessesDetails } from "./process-types.js";
declare const ProcessesParams: import("@sinclair/typebox").TObject<{
    action: import("@sinclair/typebox").TUnsafe<"output" | "start" | "write" | "list" | "logs" | "kill" | "clear">;
    command: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    input: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    end: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
    alertOnSuccess: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
    alertOnFailure: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
    alertOnKill: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
}>;
export type ProcessesParamsType = Static<typeof ProcessesParams>;
export interface ProcessToolOptions extends ProcessControllerOptions {
    controller?: ProcessController;
    cwd?: string;
    defaultTailLines?: number;
    maxOutputLines?: number;
}
export declare function createProcessTool(options?: ProcessToolOptions): AgentTool<typeof ProcessesParams, ProcessesDetails>;
export declare const processTool: AgentTool<import("@sinclair/typebox").TObject<{
    action: import("@sinclair/typebox").TUnsafe<"output" | "start" | "write" | "list" | "logs" | "kill" | "clear">;
    command: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    input: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    end: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
    alertOnSuccess: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
    alertOnFailure: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
    alertOnKill: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
}>, ProcessesDetails>;
export { getProcessController, type ProcessController, type ProcessControllerOptions, };
export { MESSAGE_TYPE_PROCESS_UPDATE, LIVE_STATUSES, type ExecuteResult, type KillResult, type ManagerEvent, type ProcessInfo, type ProcessStatus, type ProcessesDetails, type StartOptions, type WriteResult, } from "./process-types.js";
export { ProcessManager, type ProcessManagerOptions } from "./process-manager.js";
