import { Agency, API, App, AttestationRequest } from '@globalid/attestations-types'; import Attestations = API.V1.Attestations; declare type AttestationRequestBody = Attestations.Requests.POST.RequestBody; import Status = AttestationRequest.Status; import { AxiosMethods } from '../interfaces'; declare type Model = AttestationRequest.Model; export interface AttestationResults { id: string; cryptoMaterial: AttestationRequestBody; [key: string]: object | string | undefined; } export interface AttestationStatusArgs { status?: Status; attestation_request_id: string; access_token: string; } export declare type AttestationParameterFieldObject = { [key: string]: string | Blob; }; export declare type AttestationParameter = string | AttestationParameterFieldObject; export interface AttestationParameters { [key: string]: T; } export interface AttestationTransform { from: string; to: string; } export interface AttestationArgs { access_token: string; agency: Agency.Model; attestationData?: { id: string; cryptoMaterial: AttestationRequestBody; }; parameters?: AttestationParameters; queryPath?: object; requestMethod?: AxiosMethods; response?: [AttestationTransform]; url: string; whitelistedDomains: string[]; } interface ExecuteArgs { access_token: string; method: AxiosMethods; uri: string; params?: AttestationParameters; bodyParams?: string; headers?: AttestationParameters; } export declare const canceledAttestationStatusRequests: string[]; export declare const validateUrlDomain: Function; export declare const mapUrl: Function; /** * [validateAttestationStatus validates for attestaion status] * @param args [AttestationStatusArgs] * @return [Returns Model or Error] */ export declare function validateAttestationStatus(args: AttestationStatusArgs): Promise; /** * executeDefinedAttestation method will take the url, parameters, data * and transform arguments from the form definitions and execute * the required web request in-situ * * @param args [AttestationArgs] */ export declare function executeDefinedAttestation(data: AttestationParameters, args: AttestationArgs): Promise; /** * Execute helper method to call the web request as required by the * executeDefinedAttestation method * * @export * @param [ExecuteArgs] args * @returns [(Promise)] */ export declare function executeHelper(args: ExecuteArgs): Promise; /** * [waitForAttestationStatus Starts the attestation process] * @param status [Status] the status to wait for * @param args [AttestationStatusArgs] * @return [Model | Error] */ export declare function waitForAttestationStatus(status: Status, args: AttestationStatusArgs): Promise; /** * [initialiseAttestation Starts the attestation process] * @param agency [Agency.Model] * @param app [App.Model] * @return [Returns attestation_request_id, cryptoMaterial] */ export declare function initialiseAttestation(agency: Agency.Model, app: App.Model, access_token: string, public_encryption_key: string): Promise; /** * A method to add attestation request UUID to cancel the request the next time it is called * @param attestationRequestId attestation request UUID */ export declare function cancelAttestationStatusRequest(attestationRequestId: string): void; export {};