import type { AgentModelRequirements } from '../../book-2.0/agent-source/AgentModelRequirements';
import type { ToolFunction } from '../../scripting/javascript/JavascriptExecutionToolsOptions';
import type { string_javascript_name } from '../../types/string_person_fullname';
import { BaseCommitmentDefinition } from '../_base/BaseCommitmentDefinition';
/**
 * TEAM commitment definition
 *
 * The `TEAM` commitment defines teammates that the agent can consult via tools.
 *
 * Example usage in agent source:
 *
 * ```book
 * TEAM https://agents.ptbk.ik/agents/joe-green
 * TEAM You can talk with http://localhost:4440/agents/GMw67JN8TXxN7y to discuss the legal aspects.
 * ```
 *
 * @private [??] Maybe export the commitments through some package
 */
export declare class TeamCommitmentDefinition extends BaseCommitmentDefinition<'TEAM'> {
    constructor();
    /**
     * Short one-line description of TEAM.
     */
    get description(): string;
    /**
     * Marks TEAM as one of the priority commitments surfaced first in catalogues.
     */
    get isImportant(): boolean;
    /**
     * Icon for this commitment.
     */
    get icon(): string;
    /**
     * Markdown documentation for TEAM commitment.
     */
    get documentation(): string;
    applyToAgentModelRequirements(requirements: AgentModelRequirements, content: string): AgentModelRequirements;
    /**
     * Gets human-readable titles for tool functions provided by this commitment.
     */
    getToolTitles(): Record<string_javascript_name, string>;
    /**
     * Gets tool function implementations for teammate tools.
     */
    getToolFunctions(): Record<string_javascript_name, ToolFunction>;
}
