/**
 * W3C DID Core DID Document with all five verification relationships
 * typed: `authentication`, `assertionMethod`, `capabilityDelegation`,
 * `keyAgreement`, `capabilityInvocation`. Each is an array of references
 * (key IDs) into `verificationMethod[]`.
 */
export interface DIDDocument {
    '@context': string[];
    id: string;
    controller: string | string[];
    verificationMethod: VerificationMethod[];
    authentication: string[];
    assertionMethod: string[];
    capabilityDelegation?: string[];
    keyAgreement?: string[];
    capabilityInvocation?: string[];
    service?: ServiceEndpoint[];
    created: string;
    updated: string;
}
export interface VerificationMethod {
    id: string;
    type: 'Ed25519VerificationKey2020';
    controller: string;
    publicKeyMultibase: string;
}
export interface ServiceEndpoint {
    id: string;
    type: string;
    serviceEndpoint: string;
}
export interface VerifiableCredential {
    '@context': string[];
    id: string;
    type: string[];
    issuer: string | {
        id: string;
        name?: string;
    };
    issuanceDate: string;
    expirationDate?: string;
    credentialSubject: Record<string, unknown>;
    proof: LinkedDataProof;
}
export interface LinkedDataProof {
    type: 'Ed25519Signature2020';
    created: string;
    verificationMethod: string;
    proofPurpose: 'assertionMethod' | 'authentication' | 'capabilityDelegation' | 'capabilityInvocation';
    proofValue: string;
}
export interface VerifiablePresentation {
    '@context': string[];
    id: string;
    type: string[];
    holder: string;
    verifiableCredential: VerifiableCredential[];
    proof: LinkedDataProof;
}
export interface PassportCredentialSubject {
    id: string;
    agentName: string;
    ownerAlias: string;
    mission: string;
    capabilities: string[];
    runtime: {
        platform: string;
        models: string[];
    };
    beneficiary?: string;
}
export interface DelegationCredentialSubject {
    id: string;
    delegatedBy: string;
    scope: string[];
    spendLimit?: number;
    maxDepth: number;
    currentDepth: number;
    expiresAt: string;
}
export interface FloorAttestationCredentialSubject {
    id: string;
    floorVersion: string;
    principles: string[];
    extensions?: string[];
    attestedAt: string;
}
export interface PolicyReceiptCredentialSubject {
    id: string;
    intentId: string;
    actionType: string;
    target: string;
    verdict: 'approve' | 'deny' | 'escalate';
    rationale: string;
    signatureChain: {
        intentSignature: string;
        evaluationSignature: string;
        receiptSignature: string;
    };
}
export interface DIDResolutionResult {
    didDocument: DIDDocument | null;
    didDocumentMetadata: {
        created: string;
        updated: string;
        deactivated?: boolean;
    };
    didResolutionMetadata: {
        contentType: string;
        error?: string;
    };
}
/** DID resolution status — makes failure mode visible in the artifact */
export type DIDResolutionStatus = 'live' | 'cached' | 'failed';
/** Cached DID resolution entry */
export interface DIDResolutionCacheEntry {
    did: string;
    publicKey: string;
    resolvedAt: string;
    expiresAt: string;
    status: DIDResolutionStatus;
}
/** Public proof surface — minimum fields a verifier can rely on without authentication */
export interface PublicProofSurface {
    entity_id: string;
    name: string;
    status: string;
    entity_type: string;
    authority_ceiling: string[];
    verified_at: string;
}
/** Full entity verification result */
export interface EntityVerificationResult {
    /** Overall pass/fail */
    verified: boolean;
    /** DID resolution status */
    didResolutionStatus: DIDResolutionStatus;
    /** Resolved Ed25519 public key (hex) */
    resolvedPublicKey: string | null;
    /** Entity from Corpo API (or equivalent) */
    entity: PublicProofSurface | null;
    /** When the DID was resolved */
    resolvedAt: string | null;
    /** If cached, when the cache entry was created */
    cachedAt?: string;
    /** Sender ID (QSP-1 §4: Trunc16(SHA-256(pubkey))) */
    senderId: string | null;
    /** Error details */
    errors: string[];
}
//# sourceMappingURL=did.d.ts.map