import type { AgentTool } from '@earendil-works/pi-agent-core'; import { type ProductDeliveryEnvelope } from '@xopcai/gateway-contract'; import { type AutomationService } from '../../automations/index.js'; import type { Config } from '../../config/schema.js'; import type { NotesService } from '../../notes/index.js'; import { type ProjectService } from '../../projects/index.js'; import type { LocalAppService } from '../../local-apps/index.js'; declare const XopcUseToolSchema: import("@sinclair/typebox").TObject<{ mode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"project">, import("@sinclair/typebox").TLiteral<"automation">, import("@sinclair/typebox").TLiteral<"note">, import("@sinclair/typebox").TLiteral<"task">, import("@sinclair/typebox").TLiteral<"task_run">, import("@sinclair/typebox").TLiteral<"local_app">, import("@sinclair/typebox").TLiteral<"settings">]>; command: import("@sinclair/typebox").TString; args: import("@sinclair/typebox").TOptional>; dryRun: import("@sinclair/typebox").TOptional; }>; export type XopcUseMode = 'project' | 'automation' | 'note' | 'task' | 'task_run' | 'local_app' | 'settings'; export interface XopcUseToolInput { mode: XopcUseMode; command: string; args?: Record; dryRun?: boolean; } export interface XopcUseToolDeps { getConfig?: () => Config | undefined; getCurrentAgentId?: () => string | undefined; getCurrentSessionKey?: () => string | undefined; getAutomationService?: () => AutomationService | undefined; getNotesService?: () => NotesService | undefined; getProjectService?: () => ProjectService | undefined; getLocalAppService?: () => LocalAppService | undefined; dispatchTaskRuns?: () => void; } type XopcUseDetails = { mode: XopcUseMode; command: string; dryRun: boolean; result?: unknown; delivery?: ProductDeliveryEnvelope; }; export declare function createXopcUseTool(deps: XopcUseToolDeps): AgentTool; export {};