/**
 * Semantic Credential Manager - Semantic Governance Credentials
 *
 * Manages the lifecycle of Semantic Governance Credentials that bind agents
 * to their allowed behaviors. These credentials cryptographically bind an agent
 * to approved instructions, output schemas, inference limits, and context requirements.
 *
 * Features:
 * - Credential creation with validation
 * - Credential storage and retrieval
 * - Credential updates with versioning
 * - Credential verification
 *
 * @packageDocumentation
 * @module @vorion/semantic-governance/credential-manager
 */
import { VorionError } from '../common/errors.js';
import { type SemanticGovernanceCredential, type SemanticGovernanceConfig } from './types.js';
/**
 * Error thrown when credential operations fail
 */
export declare class CredentialError extends VorionError {
    code: string;
    statusCode: number;
    constructor(message: string, details?: Record<string, unknown>);
}
/**
 * Validation result for credentials
 */
export interface CredentialValidationResult {
    /** Whether the credential is valid */
    valid: boolean;
    /** Validation errors */
    errors: string[];
    /** Validation warnings */
    warnings: string[];
    /** Expiration status */
    expired?: boolean;
    /** Days until expiration */
    daysUntilExpiration?: number;
}
/**
 * Semantic Credential Manager
 *
 * Manages semantic governance credentials for agents.
 */
export declare class SemanticCredentialManager {
    private readonly credentials;
    private readonly agentCredentialIndex;
    /**
     * Create a new SemanticCredentialManager
     */
    constructor();
    /**
     * Create a new semantic governance credential
     *
     * @param agentId - Agent identifier (DID)
     * @param carId - Categorical Agentic Registry ID
     * @param config - Semantic governance configuration
     * @returns Created credential
     */
    createCredential(agentId: string, carId: string, config: SemanticGovernanceConfig): SemanticGovernanceCredential;
    /**
     * Validate a semantic governance credential
     *
     * @param credential - Credential to validate
     * @returns Validation result
     */
    validateCredential(credential: SemanticGovernanceCredential): CredentialValidationResult;
    /**
     * Update a credential configuration
     *
     * @param credentialId - Credential ID to update
     * @param updates - Partial configuration updates
     * @returns Updated credential
     */
    updateCredential(credentialId: string, updates: Partial<SemanticGovernanceConfig>): SemanticGovernanceCredential;
    /**
     * Get a credential by ID
     *
     * @param credentialId - Credential ID
     * @returns Credential or undefined
     */
    getCredential(credentialId: string): SemanticGovernanceCredential | undefined;
    /**
     * Get a credential by agent ID
     *
     * @param agentId - Agent identifier
     * @returns Credential or undefined
     */
    getCredentialByAgent(agentId: string): SemanticGovernanceCredential | undefined;
    /**
     * Delete a credential
     *
     * @param credentialId - Credential ID to delete
     * @returns Whether deletion was successful
     */
    deleteCredential(credentialId: string): boolean;
    /**
     * List all credentials
     *
     * @returns Array of all credentials
     */
    listCredentials(): SemanticGovernanceCredential[];
    /**
     * Create a default credential for testing/development
     *
     * @param agentId - Agent identifier
     * @param carId - Categorical Agentic Registry ID
     * @returns Default credential
     */
    createDefaultCredential(agentId: string, carId: string): SemanticGovernanceCredential;
    /**
     * Create a restrictive credential for high-security agents
     *
     * @param agentId - Agent identifier
     * @param carId - Categorical Agentic Registry ID
     * @param allowedInstructionHashes - Allowed instruction hashes
     * @returns Restrictive credential
     */
    createRestrictiveCredential(agentId: string, carId: string, allowedInstructionHashes: string[]): SemanticGovernanceCredential;
    /**
     * Merge partial config with defaults
     */
    private mergeWithDefaults;
    /**
     * Increment semantic version
     */
    private incrementVersion;
    /**
     * Validate instruction integrity configuration
     */
    private validateInstructionIntegrity;
    /**
     * Validate output binding configuration
     */
    private validateOutputBinding;
    /**
     * Validate inference scope configuration
     */
    private validateInferenceScope;
    /**
     * Validate context authentication configuration
     */
    private validateContextAuthentication;
    /**
     * Validate dual channel configuration
     */
    private validateDualChannel;
}
export declare function getCredentialManager(): SemanticCredentialManager;
/**
 * Reset the credential manager (for testing)
 */
export declare function resetCredentialManager(): void;
//# sourceMappingURL=credential-manager.d.ts.map