/** * @file Interfaces for SDK HTTP requests */ /// import * as types from '@globalid/attestations-types'; import { GrantTypes } from '../../exposed_interfaces'; /** * enum for attestation request status */ export declare enum AttestationRequestStatus { 'in_progress' = "in_progress", 'failed' = "failed", 'pending' = "pending", 'dismissed' = "dismissed", 'confirmed' = "confirmed" } export interface PendingAttestation { uuid: string; tracking_id: string; type: string; attestee: string; attestor: string; related_attestations: string; data_hash: string; attestee_signature?: string; attestee_signed_at?: string; attestor_signed_at: string; attestor_signature: string; attestor_signature_private_only?: string; salt_idx: number; sig_version?: number; public_data?: string; public_attestor_note?: string; attestee_uuid: string; } export interface AccessTokenResponse { access_token: string; refresh_token: string; token_type: string; expires_in: number; } export interface AgencyBase { uuid: string; gid_name: string; logo: string; attestation_process: string; name: string; description: string; brand_color: string; client_id: string; signing_pbk: string; encryption_pbk: string; category: string; created_at: string; updated_at: string; min_app_version: number; encrypted_communication_enabled: boolean; webhook: string; apps: AgencyType[]; } export interface AgencyType { uuid: string; type: string; agency: string; optional: boolean; max_att_number: number; derived_attestation_possible: boolean; created_at: string; updated_at: string; } export interface GetLocalidKey { public_key: string; } export interface CreateAttestationV5 { attestation_agency: string; rootHashes: { [key: string]: string[]; }; rootPasswords: { [key: string]: string[]; }; } export interface CreateAttestationV5Response { uuid: string; } export interface TwilioAttestMobileNumberRequest { call?: boolean; attestation_request_id: string; } export interface TwilioAttestPayload { phone_number: string; } export interface TwilioConfirmPayload { code: string; } export interface TwilioConfirmPhoneNumberResult { attestationTrackingUUID: string; attestationUUID: string; rootHashSalt: string; phoneNumber: string; gidUUID: string; } export interface TwilioSubmitResult { id: string; retry_delay_sms: number; retry_delay_call: number; retry_attempts_available?: number; } export interface TwilioConfirmPhoneNumberRequest { call?: string; confirmationCode: string; attestationTrackingUUID: string; } export interface FourstopAttestationResponse { attestations?: types.Attestation.Model[]; success?: boolean; } export interface FourStopAttestInfoAddress { address1: string; city: string; postal_code: string; country: { code: string; }; } declare type Document = string | Buffer | Uint32Array; export interface FourStopAttestInfoRequest { doc: Document; doc2?: Document; doc3?: Document; doc4?: Document; address: string; } export interface KeyChainResponse { encryptedIdentityStatePassword: string; hashedPasswordsIterations: number; identityStateSalt: string; } /** * enum for globalid status */ export declare enum GlobalidStatus { 'pending' = "pending", 'taken' = "taken", 'reserved' = "reserved" } export interface SearchGlobalidResponse { global_id: string; country: string; status: GlobalidStatus; claim_from: string; uuid: string; walletId: string; gh_uuid: string; btcWalletId: string; public_key: string; } export interface FourStopDocsSides { drivers_license: number; identity_card: number; passport: number; residence_permit: number; travel_document: number; visa: number; } export interface FourStopDocs { code: string; name: string; } export interface FourStopCountries { code: string; name: string; docs: FourStopDocs[]; } export interface FourStopSupportedCountryResponse { docs_sides: FourStopDocsSides; countries: FourStopCountries[]; } export interface IPAttestation { uuid: string; tracking_id: string; type: string; attestee: string; attestee_uuid: string; attestor: string; related_attestations: string; data_hash: string; attestor_signed_at: Date; attestee_signed_at: Date; attestor_signature: string; attestee_signature: string; sig_version: number; public_data?: string; public_attestor_note?: string; created_at: Date; updated_at: Date; } export interface AuthenticationParameters { redirect_uri: string; scope: string; client_id: string; response_type: GrantTypes; acrc_id?: string | null; nonce?: string; state?: string; } export interface AuthenticationParametersWithPIISharing extends AuthenticationParameters { acrc_id: string; } /** * Statuses for Authentication requests */ export declare enum AuthenticationStatusType { pending = "pending", scanned = "scanned", approved = "approved", rejected = "rejected" } export interface AuthenticationStatus { status: AuthenticationStatusType; profile_image_url?: string; redirect_url: string; } export interface OAuth2Response { grant_type: string; [key: string]: string; } export interface AcceptConsentResponse { oauth_response: OAuth2Response; decoupled_maf_uuid?: string; } export interface AuthClientDetails { uuid: string; brand_color: string; description: string; image: string; name: string; public_key: string; webhook_2fa?: string; } interface ACRCConfigurationModel extends types.ACRCConfiguration.Model { decoupled_maf_allowed: boolean; decoupled_maf_redirect_url: string | null; } export declare type IsAcrcAttestedResponse = { acrc: ACRCConfigurationModel; attested: boolean; missing_requirements: types.ACRCRequirement.Model[]; satisfied_requirements: types.ACRCRequirement.Model[]; }; export declare type AttestationPII = types.API.V1.Attestations.Pii.GET.Response; export interface PostConsentResponse { requested_scope: string; client: AuthClientDetails; valid_to: string; acrc_response?: IsAcrcAttestedResponse; } export interface GetVaultInformation { token: string; encrypted_data_password: string; encrypted_root_password: string; encrypted_data: string; private_file_token?: string; private_file_token_expiry?: string; private_file_token_max_use_count?: number; } export {};