anon-identity
Version:
Decentralized identity framework with DIDs, Verifiable Credentials, and privacy-preserving selective disclosure
21 lines • 1.15 kB
TypeScript
import { DelegationCredential, AccessGrant, AgentIdentity } from './types';
import { KeyPair } from '../types/index';
export interface DelegationMetadata {
issuerAgent?: AgentIdentity;
delegationDepth?: number;
maxDelegationDepth?: number;
canDelegate?: boolean;
}
export declare class DelegationManager {
createDelegationCredential(issuerDID: string, issuerKeyPair: KeyPair, agentDID: string, agentName: string, grant: AccessGrant, metadata?: DelegationMetadata): Promise<DelegationCredential>;
createProof(credential: DelegationCredential, issuerDID: string, keyPair: KeyPair): Promise<any>;
validateDelegation(credential: DelegationCredential): boolean;
extractScopes(credential: DelegationCredential, serviceDID: string): string[];
hasScope(credential: DelegationCredential, serviceDID: string, scope: string): boolean;
canAgentDelegate(credential: DelegationCredential): boolean;
validateAgentDelegation(parentCredential: DelegationCredential, childScopes: string[], serviceDID: string): {
valid: boolean;
reason?: string;
};
}
//# sourceMappingURL=delegation-manager.d.ts.map