import { DelegationChain } from './types';
import { DelegationManager } from './delegation-manager';
import { AgentIdentityManager } from './agent-identity';
export interface ChainValidationResult {
    valid: boolean;
    chain?: DelegationChain;
    errors: string[];
    warnings: string[];
}
export interface ChainCacheEntry {
    chain: DelegationChain;
    validatedAt: Date;
    expiresAt: Date;
}
export declare class DelegationChainValidator {
    private delegationManager;
    private agentManager;
    private chainCache;
    private readonly cacheTimeout;
    constructor(delegationManager: DelegationManager, agentManager: AgentIdentityManager);
    /**
     * Validates a complete delegation chain from root to target agent
     */
    validateDelegationChain(targetAgentDID: string, rootDID: string, serviceDID?: string): Promise<ChainValidationResult>;
    /**
     * Builds a delegation chain from target agent to root
     */
    private buildDelegationChain;
    /**
     * Validates a single link in the delegation chain
     */
    private validateChainLink;
    /**
     * Verifies the cryptographic signature of a credential
     */
    private verifyCredentialSignature;
    /**
     * Validates overall chain properties
     */
    private validateChainProperties;
    /**
     * Finds the most recent valid credential from a list
     */
    private findValidCredential;
    /**
     * Caches a validated chain
     */
    private cacheChain;
    /**
     * Retrieves a cached chain if still valid
     */
    private getCachedChain;
    /**
     * Clears expired entries from the cache
     */
    clearExpiredCache(): void;
    /**
     * Exports a delegation chain for visualization or debugging
     */
    exportChain(chain: DelegationChain): object;
}
//# sourceMappingURL=delegation-chain-validator.d.ts.map