import { AgentConfig, AgentIdentity, AccessGrant, PresentationOptions, DelegationCredential, SubAgentConfig, ScopeReductionPolicy } from './types';
import { VerifiablePresentation } from '../types/index';
export declare class AgentIdentityManager {
    private agents;
    private accessGrants;
    private delegationCredentials;
    createAgent(parentDID: string, config: AgentConfig): Promise<AgentIdentity>;
    createSubAgent(parentAgentDID: string, config: SubAgentConfig): Promise<AgentIdentity>;
    reduceScopesForDelegation(parentScopes: string[], requestedScopes: string[], policy?: ScopeReductionPolicy): string[];
    validateDelegationDepth(agentDID: string): boolean;
    getAgent(agentDID: string): AgentIdentity | undefined;
    listAgents(parentDID: string): AgentIdentity[];
    deleteAgent(agentDID: string): boolean;
    getAllAgents(): AgentIdentity[];
    addAccessGrant(agentDID: string, grant: AccessGrant): void;
    getAccessGrants(agentDID: string): AccessGrant[];
    hasServiceAccess(agentDID: string, serviceDID: string): boolean;
    revokeServiceAccess(agentDID: string, serviceDID: string): boolean;
    addDelegationCredential(agentDID: string, credential: DelegationCredential): void;
    getDelegationCredentials(agentDID: string): DelegationCredential[];
    createPresentation(agentDID: string, options: PresentationOptions): Promise<VerifiablePresentation | null>;
}
//# sourceMappingURL=agent-identity.d.ts.map