import type { File_, ResourceCredential, ResourceDraft } from '../api'; import { TruvityClient } from '../Client'; import { UnknownDraftCredential } from './credential/draft/unknown'; import { DraftCredentialWithClaims } from './credential/draft/with-claims'; import { Claims, DraftMetadata } from './credential/types'; import { UnknownVerifiableCredential } from './credential/verifiable/unknown'; import { VerifiableCredentialWithClaims } from './credential/verifiable/with-claims'; import { LinkedCredential, LinkedFile, Rfc3339Date, Rfc3339DateTime } from './models'; export { Claims }; export type Ctor = new (...args: any[]) => T; export type BlobInput = ArrayBufferView | ArrayBuffer | ReadableStream | string; export type FileBlob = Blob; export type ValueWithId = { id: string; digestMultibase?: string; }; export type ValueWithDataId = { data: ValueWithId; }; export declare const isValueWithDataId: (value: any) => value is ValueWithDataId; export declare const isValueWithId: (value: any) => value is ValueWithId; export type LinkedCredentialDescriptor = ValueWithId & { type: 'LinkedCredential'; }; export type LinkedFileDescriptor = ValueWithId & { type: 'LinkedFile'; }; export type LinkedEntityDescriptor = LinkedCredentialDescriptor | LinkedFileDescriptor; export declare const isLinkedEntityDescriptor: (value: any) => value is LinkedEntityDescriptor; type HandleClaimValue = Exclude extends LinkedCredential ? ValueWithId | LinkedCredential | (V extends Claims ? VerifiableCredentialWithClaims : UnknownVerifiableCredential) | (V extends Claims ? DraftCredentialWithClaims : UnknownDraftCredential) : Exclude extends LinkedFile ? ValueWithId | LinkedFile : T extends Rfc3339Date ? Rfc3339Date : T extends Rfc3339DateTime ? Rfc3339DateTime : T extends Claims ? NestedT : T; export type UserUpdateClaims = { [P in keyof T]?: HandleClaimValue>; }; export type UserIssueClaims = { [P in keyof T]: HandleClaimValue>; }; export type ReadDraftClaims = { [P in keyof T]?: Exclude extends LinkedCredential | LinkedFile ? T[P] : T[P] extends Claims ? ReadDraftClaims : T[P]; }; export type ReadClaims = { [P in keyof T]: Exclude extends LinkedCredential | LinkedFile ? T[P] : T[P] extends Claims ? ReadClaims : T[P]; }; type BaseDescriptor = { id: string; etag: string; revision: number; }; export type DraftDescriptor = BaseDescriptor; export type CredentialDescriptor = BaseDescriptor & { data: { id: string; digestMultibase?: string; }; }; export type PresentationDescriptor = BaseDescriptor & { data: { linkedCredentials: string[]; }; }; export type FileDescriptor = BaseDescriptor & { data: File_; }; export type UpdatePayload = { annotations?: Record; labels?: Record; }; export type UpdatePayloadWithIssueClaims = UpdatePayload & { claims: UserIssueClaims; metadata?: DraftMetadata; }; export type VerificationResult = { verified: boolean; }; export type ApiClient = Pick & { tenantId: () => Promise; }; export declare const isResourceCredential: (input: ResourceDraft | ResourceCredential) => input is ResourceCredential; //# sourceMappingURL=types.d.ts.map