import type { ToolDefinition } from "@sheason/pi-coding-agent";
import { type Static, Type } from "typebox";
declare const createAgentTokenSchema: Type.TObject<{
    name: Type.TString;
    description: Type.TString;
    user: Type.TString;
    purpose: Type.TString;
    scopeMode: Type.TOptional<Type.TUnion<[Type.TLiteral<"subtree">, Type.TLiteral<"self">, Type.TLiteral<"direct_children">, Type.TLiteral<"explicit">]>>;
    scopeAgentId: Type.TOptional<Type.TString>;
    agentIds: Type.TOptional<Type.TArray<Type.TString>>;
}>;
declare const revokeAgentTokenSchema: Type.TObject<{
    tokenId: Type.TString;
}>;
export type CreateAgentTokenToolInput = Static<typeof createAgentTokenSchema>;
export type RevokeAgentTokenToolInput = Static<typeof revokeAgentTokenSchema>;
export interface AgentTokenToolHost {
    createAgentTokenText(callerAgentId: string, input: CreateAgentTokenToolInput): Promise<string>;
    revokeAgentTokenText(callerAgentId: string, input: RevokeAgentTokenToolInput): Promise<string>;
}
export declare function createAgentTokenToolDefinitions(getHost: () => AgentTokenToolHost, callerAgentId: string): ToolDefinition[];
export {};
//# sourceMappingURL=token-tools.d.ts.map