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, constraintRoot?: 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; /** * One-shot approval when `agim_exec` would run unconfined (no bwrap) * while a versioned goal is active. * * Honors composer「替我审批」(`AGIM_AUTO_APPROVE` effective) via * `allowSessionPin` on the approval bus — same as ordinary tools. * When auto-approve is off, still bypasses allow-on-timeout (deny on * timeout) and offers session「本类自动放行」. Plan-exit stays hard-explicit * (no session pin). */ 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; callerAgent?: string; callDepth?: number; parentJobId?: number; }): (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