import type { Provider, ThinkingLevel } from "@kenkaiiii/gg-ai";
import type { AgentDefinition } from "../core/agents.js";
export declare const SUB_AGENT_MAX_TURNS = 50;
export declare const SUB_AGENT_MAX_OUTPUT_CHARS = 100000;
export declare const SUB_AGENT_MAX_OUTPUT_LINES = 500;
export declare const SUB_AGENT_MAX_STDERR_CHARS = 10000;
export declare const SUB_AGENT_TIMEOUT_MS: number;
export declare const SUB_AGENT_DEPTH_ENV = "GG_SUBAGENT_DEPTH";
export declare const MAX_BLOCKING_SUBAGENT_DEPTH = 3;
export interface SubAgentSelection {
    agentDef?: AgentDefinition;
    provider: Provider;
    parentModel: string;
    model: string;
}
export declare function resolveAgentDefinition(agents: AgentDefinition[], requestedName?: string): AgentDefinition | undefined;
export declare function selectSubAgent(agents: AgentDefinition[], requestedName: string | undefined, provider: Provider, parentModel: string): SubAgentSelection;
export declare function childThinkingLevel(level: ThinkingLevel | undefined): ThinkingLevel | undefined;
export declare function subAgentCacheKey(parentCacheKey: string | undefined): string | undefined;
export declare function currentSubAgentDepth(env?: NodeJS.ProcessEnv): number;
export declare function childSubAgentEnv(env?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
export declare function resolveSubAgentCliEntry(): string;
export declare function boundSubAgentOutput(raw: string): string;
//# sourceMappingURL=subagent-shared.d.ts.map