import { HttpClientResponse } from './HttpClientResponse';
import { IFormattedParameter } from '../IParameters';
export declare class TransactionResponse extends HttpClientResponse {
    get data(): ITransactionResponse;
    getStatusCode(): string;
    getSubStatusCode(): string;
    isSuccess(): boolean;
    isFailed(): boolean;
    isCanceled(): boolean;
    isAwaitingConsumer(): boolean;
    isPendingProcessing(): boolean;
    isWaitingOnUserInput(): boolean;
    isRejected(): boolean;
    isValidationFailure(): boolean;
    hasRedirect(): boolean;
    getRedirectUrl(): string;
    getServices(): {
        action: string;
        name: string;
        value: string;
        versionAsProperty: number;
        parameters: IFormattedParameter[];
    }[] | undefined;
    getMethod(): string | undefined;
    getServiceAction(): string | undefined;
    getCustomParameters(): import("../IParameters").IAdditionalParameters;
    getAdditionalParameters(): import("../IParameters").IAdditionalParameters;
    getTransactionKey(): string;
    getPaymentKey(): string;
    getAmountDebit(): number;
    getAmountCredit(): number;
    hasError(): boolean | undefined;
    getErrorMessage(): string;
}
export declare interface ITransactionResponse {
    key: string;
    name: string;
    version: number;
    description: string;
    status: {
        code: {
            code: number | string;
            description: string;
        };
        subCode: {
            code: number | string;
            description: string;
        };
        dateTime: string;
    };
    requiredAction: {
        redirectURL: string;
        requestedInformation: {
            name: string;
            dataType: number;
            maxLength: number;
            required: boolean;
            description: string;
        }[];
        payRemainderDetails: {
            remainderAmount: number;
            currency: string;
            groupTransaction: string;
        };
        name: string;
        typeDeprecated: number;
    };
    services?: {
        action: string;
        name: string;
        value: string;
        versionAsProperty: number;
        parameters: IFormattedParameter[];
    }[];
    customParameters?: {
        list: IFormattedParameter[];
    };
    additionalParameters?: {
        additionalParameter: IFormattedParameter[];
    };
    requestErrors?: {
        channelErrors?: {
            service: string;
            action: string;
            name: string;
            error: string;
            errorMessage: string;
        }[];
        serviceErrors?: {
            name: string;
            error: string;
            errorMessage: string;
        }[];
        actionErrors?: {
            service: string;
            name: string;
            error: string;
            errorMessage: string;
        }[];
        parameterErrors?: {
            service: string;
            action: string;
            name: string;
            error: string;
            errorMessage: string;
        }[];
        customParameterErrors?: {
            name: string;
            error: string;
            errorMessage: string;
        }[];
    };
    invoice: string;
    serviceCode: string;
    isTest: boolean;
    currency: string;
    amountDebit: number;
    amountCredit: number;
    transactionType: string;
    mutationType: number;
    relatedTransactions?: {
        relationType: string;
        relatedTransactionKey: string;
    }[];
    consumerMessage?: {
        mustRead: boolean;
        cultureName: string;
        title: string;
        plainText: string;
        htmlText: string;
    };
    order: string;
    issuingCountry: string;
    startRecurrent: boolean;
    recurring: boolean;
    customerName: string;
    payerHash: string;
    paymentKey: string;
}
