import type { KlawConfig } from "../config/types.klaw.js"; import type { AnyAgentTool } from "./pi-tools.types.js"; import type { SandboxToolPolicy } from "./sandbox.js"; import { type SessionCapabilityStore } from "./subagent-capabilities.js"; export declare function resolveSubagentToolPolicy(cfg?: KlawConfig, depth?: number): SandboxToolPolicy; export declare function resolveSubagentToolPolicyForSession(cfg: KlawConfig | undefined, sessionKey: string, opts?: { store?: SessionCapabilityStore; }): SandboxToolPolicy; export declare function resolveInheritedToolPolicyForSession(cfg: KlawConfig | undefined, sessionKey: string | undefined | null, opts?: { store?: SessionCapabilityStore; }): SandboxToolPolicy | undefined; export declare function filterToolsByPolicy(tools: AnyAgentTool[], policy?: SandboxToolPolicy): AnyAgentTool[]; type ToolPolicyConfig = { allow?: string[]; alsoAllow?: string[]; deny?: string[]; profile?: string; }; export declare function resolveTrustedGroupId(params: { groupId?: string | null; sessionKey?: string | null; spawnedBy?: string | null; }): { groupId: string | null | undefined; dropped: boolean; }; export declare function resolveProviderToolPolicy(params: { byProvider?: Record; modelProvider?: string; modelId?: string; }): ToolPolicyConfig | undefined; export declare function resolveEffectiveToolPolicy(params: { config?: KlawConfig; sessionKey?: string; agentId?: string; modelProvider?: string; modelId?: string; }): { agentId: string | undefined; globalPolicy: SandboxToolPolicy | undefined; globalProviderPolicy: SandboxToolPolicy | undefined; agentPolicy: SandboxToolPolicy | undefined; agentProviderPolicy: SandboxToolPolicy | undefined; profile: import("../config/types.tools.js").ToolProfileId | undefined; providerProfile: string | undefined; profileAlsoAllow: string[] | undefined; providerProfileAlsoAllow: string[] | undefined; }; export declare function resolveGroupToolPolicy(params: { config?: KlawConfig; sessionKey?: string; spawnedBy?: string | null; messageProvider?: string; groupId?: string | null; groupChannel?: string | null; groupSpace?: string | null; accountId?: string | null; senderId?: string | null; senderName?: string | null; senderUsername?: string | null; senderE164?: string | null; }): SandboxToolPolicy | undefined; export { isToolAllowedByPolicies, isToolAllowedByPolicyName } from "./tool-policy-match.js";