import { ServiceProvider, VerificationResult, ServiceProviderOptions } from './service-provider';
import { VerifiablePresentation } from '../types/index';
import { ServiceManifest } from '../agent/types';
import { AgentRevocationService } from '../agent/agent-revocation-service';
import { DelegationManager } from '../agent/delegation-manager';
import { AgentIdentityManager } from '../agent/agent-identity';
export interface AgentServiceProviderV2Options extends ServiceProviderOptions {
    serviceManifest?: ServiceManifest;
    requireAgentValidation?: boolean;
    agentRevocationService?: AgentRevocationService;
    agentIdentityManager?: AgentIdentityManager;
    delegationManager?: DelegationManager;
    validateDelegationChains?: boolean;
    maxChainDepth?: number;
}
export declare class AgentEnabledServiceProviderV2 extends ServiceProvider {
    private serviceManifest;
    private scopeValidator;
    private requireAgentValidation;
    private agentRevocationService?;
    private activityLogger;
    private chainValidator?;
    private validateChains;
    private maxChainDepth;
    private agentSessions;
    constructor(name: string, did: string, trustedIssuers?: string[], options?: AgentServiceProviderV2Options);
    setServiceManifest(manifest: ServiceManifest): void;
    getServiceManifest(): ServiceManifest;
    verifyPresentation(presentation: VerifiablePresentation): Promise<VerificationResult>;
    private verifyAgentPresentation;
    private validateAgent;
    private findRootDID;
    private isTrustedIssuer;
    getAgentSession(sessionId: string): {
        agentDID: string;
        parentDID: string;
        scopes: string[];
        sessionId: string;
        delegationChain?: any;
    } | undefined;
    clearExpiredSessions(): void;
}
//# sourceMappingURL=service-provider-agent-v2.d.ts.map