export type ToolFamily = 'creative' | 'composition' | 'artifact' | 'memory' | 'settings' | 'analysis' | 'control'; export type ToolExecutionMode = 'hosted' | 'client' | 'app' | 'workflow' | 'internal'; export type ToolCostClass = 'free' | 'low' | 'medium' | 'high' | 'variable'; export type ToolLatencyClass = 'inline' | 'interactive' | 'long_running'; export type ToolConfirmationPolicy = 'never' | 'paid' | 'destructive' | 'always'; export type ToolRetrySafety = 'idempotent' | 'dedupe_key_required' | 'not_safe'; export interface ToolMetadata { name: string; family: ToolFamily; executionMode: ToolExecutionMode; inputSchemaRef: string; outputSchemaRef: string; costClass: ToolCostClass; latencyClass: ToolLatencyClass; mutatesData: boolean; producesArtifacts: boolean; requiresConfirmation: ToolConfirmationPolicy; retrySafety: ToolRetrySafety; hiddenFromModel?: boolean; } export declare function isToolFamily(value: unknown): value is ToolFamily; export declare function isToolExecutionMode(value: unknown): value is ToolExecutionMode; export declare function isToolCostClass(value: unknown): value is ToolCostClass; export declare function isToolLatencyClass(value: unknown): value is ToolLatencyClass; export declare function isToolConfirmationPolicy(value: unknown): value is ToolConfirmationPolicy; export declare function isToolRetrySafety(value: unknown): value is ToolRetrySafety; export declare function isToolMetadata(value: unknown): value is ToolMetadata; export interface ToolMetadataValidationError { path: string; message: string; } export interface ToolMetadataValidationResult { valid: boolean; errors: ToolMetadataValidationError[]; } export declare function validateToolMetadata(value: unknown): ToolMetadataValidationResult; //# sourceMappingURL=toolMetadata.d.ts.map