import ILogger from '../helpers/ILogger'; import { CheckStatus } from './CheckStatus'; import { HttpClient } from './HttpClient'; import { ILink, IListResource, IListResourceParameters } from './IListResource'; import { ClientCredentialsManager } from './TokenManager'; import { CheckTraceResource, IListCheckTracesResource, TraceApiClient } from './TraceAPIClient'; export interface ICreateCheckParameters { phone_number: string; } export type CreateCheckResponse = { check_id: string; status: CheckStatus; charge_amount: number; charge_currency: string; created_at: string; snapshot_balance: number; }; export type CheckResponse = { check_id: string; status: CheckStatus; charge_amount: number; charge_currency: string; created_at: string; updated_at: string; network_id: string; _links: { self: ILink; }; }; export interface IListCheckResource extends IListResource { _embedded: { checks: T[]; }; } export declare abstract class AbstractChecksApiClient implements TraceApiClient { baseApiUrl: string; httpClient: HttpClient; productName: string; tokenManager: ClientCredentialsManager; protected constructor(tokenManager: ClientCredentialsManager, baseApiUrlDR: string, productName: string, logger: ILogger); create(parameters: ICreateCheckParameters): Promise; get(checkId: string): Promise; getTraces(checkId: string): Promise; getTrace(checkId: string, traceId: string): Promise; list(parameters?: IListResourceParameters): Promise>; }