import type { AgentToolResult } from "@mariozechner/pi-agent-core"; import { type ExecAsk, type ExecSecurity } from "../infra/exec-approvals.js"; import type { SafeBinProfile } from "../infra/exec-safe-bin-policy.js"; import type { ExecApprovalFollowupFactory, ExecToolDetails } from "./bash-tools.exec-types.js"; export type ProcessGatewayAllowlistParams = { command: string; workdir: string; env: Record; requestedEnv?: Record; pty: boolean; timeoutSec?: number; defaultTimeoutSec: number; security: ExecSecurity; ask: ExecAsk; safeBins: Set; safeBinProfiles: Readonly>; strictInlineEval?: boolean; trigger?: string; agentId?: string; sessionKey?: string; turnSourceChannel?: string; turnSourceTo?: string; turnSourceAccountId?: string; turnSourceThreadId?: string | number; scopeKey?: string; approvalFollowupText?: string; approvalFollowup?: ExecApprovalFollowupFactory; approvalFollowupMode?: "agent" | "direct"; warnings: string[]; notifySessionKey?: string; approvalRunningNoticeMs: number; maxOutput: number; pendingMaxOutput: number; trustedSafeBinDirs?: ReadonlySet; }; export type ProcessGatewayAllowlistResult = { execCommandOverride?: string; allowWithoutEnforcedCommand?: boolean; pendingResult?: AgentToolResult; }; export declare function processGatewayAllowlist(params: ProcessGatewayAllowlistParams): Promise;