import { AmountsResp } from "./amountsResp";
import { CapturedSignature } from "./capturedSignature";
import { CurrencyConversion } from "./currencyConversion";
import { Instalment } from "./instalment";
import { PaymentAcquirerData } from "./paymentAcquirerData";
import { PaymentInstrumentData } from "./paymentInstrumentData";
import { PaymentType } from "./paymentType";
export declare class PaymentResult {
    "PaymentType"?: PaymentType;
    "PaymentInstrumentData"?: PaymentInstrumentData | null;
    "AmountsResp"?: AmountsResp | null;
    "Instalment"?: Instalment | null;
    /**
    * Information related to a currency conversion. A currency conversion occurred in the payment, and the merchant needs to know information related to this conversion (e.g. to print on the sale receipt).
    */
    "CurrencyConversion"?: Array<CurrencyConversion>;
    /**
    * Indicates that the Merchant forced the result of the payment to successful. Allows the Sale System to be sure that the payment has been forced.
    */
    "MerchantOverrideFlag"?: boolean;
    "CapturedSignature"?: CapturedSignature | null;
    /**
    * Numeric value of a handwritten signature. Contains the value of a handwritten signature, e.g. the signature of a cardholder on the merchant payment receipt. The format before encryption is the encoded data structure CapturedSignature. The data structure before encryption includes the start and end tags for an XML encoding, the identifier and length bytes for an ASN.1 encoding, and the complete member ProtectedSignature for a JSON encoding.
    */
    "ProtectedSignature"?: string;
    /**
    * The language of the customer that was used on the terminal screen or in text printed by the terminal. Format: two-character [ISO 639:2023](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) format.
    */
    "CustomerLanguage"?: string;
    /**
    * Indicate that the payment transaction processing has required the approval of a host. Allows the Sale System to know if the payment was online or offline.
    */
    "OnlineFlag"?: boolean;
    /**
    * Method for customer authentication. Allows the Sale System informed about customer authentication for the payment transaction. Possible values: * **Bypass** * **ManualVerification** * **MerchantAuthentication** * **OfflinePIN** * **OnlinePIN** * **PaperSignature** * **SecureCertificate** * **SecureNoCertificate** * **SecuredChannel** * **SignatureCapture** * **UnknownMethod**
    */
    "AuthenticationMethod"?: Array<PaymentResult.AuthenticationMethodEnum>;
    /**
    * End of the validity period for the reservation, for the first reservation, and the reservation updates as well.
    */
    "ValidityDate"?: string;
    "PaymentAcquirerData"?: PaymentAcquirerData | null;
    static readonly discriminator: string | undefined;
    static readonly mapping: {
        [index: string]: string;
    } | undefined;
    static readonly attributeTypeMap: Array<{
        name: string;
        baseName: string;
        type: string;
        format: string;
    }>;
    static getAttributeTypeMap(): {
        name: string;
        baseName: string;
        type: string;
        format: string;
    }[];
    constructor();
}
export declare namespace PaymentResult {
    enum AuthenticationMethodEnum {
        Bypass = "Bypass",
        ManualVerification = "ManualVerification",
        MerchantAuthentication = "MerchantAuthentication",
        OfflinePin = "OfflinePIN",
        OnlinePin = "OnlinePIN",
        PaperSignature = "PaperSignature",
        SecuredChannel = "SecuredChannel",
        SecureCertificate = "SecureCertificate",
        SecureNoCertificate = "SecureNoCertificate",
        SignatureCapture = "SignatureCapture",
        UnknownMethod = "UnknownMethod"
    }
}
