/**
 * Credential lifecycle management operations
 */
export interface CredentialStatusHistory {
    id: string;
    credential_id: string;
    status: string;
    reason?: string;
    changed_by?: string;
    changed_at: Date;
    metadata?: unknown;
}
export interface CredentialRevocation {
    id: string;
    credential_id: string;
    issuer_did: string;
    revocation_reason?: string;
    revoked_by?: string;
    revoked_at: Date;
    revocation_list_index?: number;
}
export interface CredentialAuditLog {
    id: string;
    credential_id: string;
    issuer_did: string;
    subject_did: string;
    credential_type: string[];
    action: 'issued' | 'revoked' | 'verified' | 'renewed';
    performed_by?: string;
    performed_at: Date;
    metadata?: unknown;
    ip_address?: string;
    user_agent?: string;
}
export declare function addCredentialStatusHistory(history: Omit<CredentialStatusHistory, 'id' | 'changed_at'>): Promise<CredentialStatusHistory>;
export declare function getCredentialStatusHistory(credentialId: string): Promise<CredentialStatusHistory[]>;
export declare function revokeCredential(revocation: Omit<CredentialRevocation, 'id' | 'revoked_at' | 'revocation_list_index'>): Promise<CredentialRevocation>;
export declare function isCredentialRevoked(credentialId: string): Promise<boolean>;
export declare function getRevocationRegistry(issuerDid: string, limit?: number, offset?: number): Promise<CredentialRevocation[]>;
export declare function logCredentialAction(audit: Omit<CredentialAuditLog, 'id' | 'performed_at'>): Promise<CredentialAuditLog>;
export declare function getCredentialAuditLog(credentialId: string, limit?: number): Promise<CredentialAuditLog[]>;
export declare function getExpiringCredentials(daysAhead: number, limit?: number): Promise<Array<{
    credential_id: string;
    expiration_date: Date;
    subject_did: string;
    issuer_did: string;
    credential_type: string[];
    credential_subject: unknown;
}>>;
//# sourceMappingURL=credential-lifecycle.d.ts.map