export interface AgentTool {
    name: string;
    description: string;
    inputSchema: Record<string, unknown>;
    outputSchema: Record<string, unknown>;
    sideEffects: string[];
}
export interface AgentSpec {
    goal: string;
    triggers: string[];
    tools: AgentTool[];
    knowledgeSources: string[];
    decisionRules: string[];
    outputs: string[];
    errorHandling: string;
}
export interface AgentConstitution {
    accuracy: string[];
    safety: string[];
    privacy: string[];
    escalation: string[];
}
export interface AgentMemoryContract {
    memoryType: 'in-context' | 'vector-store' | 'key-value' | 'graph';
    persistedFields: string[];
    ephemeralFields: string[];
    retrievalCriteria: string;
    corruptionBehavior: string;
}
export interface AgentToolSignature {
    name: string;
    description: string;
    params: Record<string, string>;
    output: string;
}
export interface AgentContract {
    naturalLanguageObjective: string;
    toolSignatures: AgentToolSignature[];
    terminationCriterion: string;
    maxIterations: number;
    toolFailureBehavior: string;
}
export interface InterAgentCommunicationContract {
    handoffMessageSchema: Record<string, unknown>;
    callerPermissions: Record<string, string[]>;
    conflictResolution: string;
    criticalSubagentFailureBehavior: string;
}
export interface AgentCatalogFramework {
    packages: string[];
    indicators: string[];
    modelPrefix?: string;
    docsUrl: string;
    supportsTools: boolean;
    supportsStreaming: boolean;
    language: string;
}
export interface AgentCatalogPhase {
    order: number;
    name: string;
    description: string;
    estimatedDays: number;
    deliverables: string[];
}
export interface AgentCatalogFailureMode {
    id: string;
    name: string;
    description: string;
    severity: string;
    mitigation: string;
}
export interface AgentCatalogEvalDimension {
    id: string;
    name: string;
    description: string;
    targetMetric: string;
    tools: string[];
}
export interface AgentSpecCatalog {
    agentSpecTemplate: {
        sections: string[];
        constitutionPrinciples: string[];
    };
    agentTypes: Record<string, {
        description: string;
        keyPatterns: string[];
    }>;
    failureModes: AgentCatalogFailureMode[];
    evaluationDimensions: AgentCatalogEvalDimension[];
    frameworks: Record<string, AgentCatalogFramework>;
    executionPhases: Record<string, AgentCatalogPhase>;
    interactionChannels: Record<string, {
        description: string;
        responseFormat: string;
        latencyTarget: string;
    }>;
    knowledgeBaseSchemas: Record<string, {
        fields: string[];
        indexFields: string[];
    }>;
}
export interface AgentToolingTool {
    name: string;
    description: string;
    install: string;
}
export interface AgentToolingRecommendation {
    category: string;
    tools: AgentToolingTool[];
}
//# sourceMappingURL=agent.d.ts.map