import type { SceneAccess } from '../../scenes/httpServices.js'; import { type CapabilityContext } from '../../capabilities/runtime/dispatcher.js'; 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'; import type { ChatPreviewService } from '../../chat-previews/index.js'; declare const XopcUseToolSchema: import("@sinclair/typebox").TObject<{ mode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"context">, import("@sinclair/typebox").TLiteral<"scene">, 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<"chat_preview">, import("@sinclair/typebox").TLiteral<"agent">, import("@sinclair/typebox").TLiteral<"settings">]>; command: import("@sinclair/typebox").TString; args: import("@sinclair/typebox").TOptional>; dryRun: import("@sinclair/typebox").TOptional; }>; export type XopcUseMode = 'context' | 'scene' | 'project' | 'automation' | 'note' | 'task' | 'task_run' | 'chat_preview' | 'local_app' | 'agent' | 'settings'; export interface XopcUseToolInput { mode: XopcUseMode; command: string; args?: Record; dryRun?: boolean; } export interface XopcUseToolDeps { authorizeCapability?: CapabilityContext['authorize']; getWorkspace?: () => string; getConfig?: () => Config | undefined; getCurrentAgentId?: () => string | undefined; getCurrentConversationId?: () => string | undefined; getAutomationService?: () => AutomationService | undefined; getSceneAccess?: () => SceneAccess | undefined; getNotesService?: () => NotesService | undefined; getProjectService?: () => ProjectService | undefined; getWorkDiscovery?: () => import('../../work-discovery/service.js').WorkDiscoveryService | undefined; getLocalAppService?: () => LocalAppService | undefined; getChatPreviewService?: () => ChatPreviewService | undefined; dispatchTaskEvents?: () => void; dispatchTaskRuns?: () => void; onAgentCatalogMutate?: () => void; } type XopcUseDetails = { mode: XopcUseMode; command: string; dryRun: boolean; result?: unknown; delivery?: ProductDeliveryEnvelope; }; export declare function createXopcUseTool(deps: XopcUseToolDeps): AgentTool; export {};