import { type LlmProvider } from '../../../core/llm/index.js'; import { type PolicyApprovalGateConfig } from '../../../core/llm/policy-approval-gate.js'; import type { ToolCallRequest } from '../../../core/llm/provider-base.js'; export declare function isToolDisciplineOn(): boolean; export declare function buildSystemPrompt(provider: LlmProvider, role: string, cwd: string, threadKey?: string): string; export declare function readOperatorRole(cwd: string): string; export declare function readWorkspaceMemory(cwd: string): string; export declare function isWorkspaceTrusted(): boolean; /** Canonical local mutation tools blocked while Plan Mode is active. * Exported so the pi-native hard gate and policy gate cannot drift apart. */ export declare const PLAN_MODE_DENY_TOOLS: ReadonlySet; export declare function resolvePolicy(threadKey?: string): PolicyApprovalGateConfig; export declare function isPlanModeOn(threadKey?: string): boolean; /** * Explicit one-shot approval when `agim_exec` would run unconfined * (no bwrap) while a versioned goal is active. Must not inherit * AGIM_AUTO_APPROVE / remembered allow rules — same posture as plan-exit * and complete_goal. */ export declare function confirmUnconfinedGoalExec(opts: { runId: string; platform: string; channelId: string; threadId: string; userId: string; command: string; timeoutMs?: number; cwd?: string; signal?: AbortSignal; }): Promise<'allow' | 'deny'>; export declare function buildNativeAskUser(opts: { runId: string; platform: string; channelId: string; threadId: string; userId: string; }): (call: ToolCallRequest, signal?: AbortSignal) => Promise<'allow' | 'deny'>; export declare function parsePromptMedia(prompt: string): Array<{ path: string; mime?: string; }>; export declare function describeNativeAgent(): string; //# sourceMappingURL=index.d.ts.map