/**
 * Apideck
 * The Apideck OpenAPI Spec: SDK Optimized
 *
 * The version of the OpenAPI document: 10.13.0
 * Contact: support@apideck.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { Currency } from './Currency';
import { PaymentCard } from './PaymentCard';
/**
 *
 * @export
 * @interface OrderTenders
 */
export interface OrderTenders {
    /**
     * A unique identifier for an object.
     * @type {string}
     * @memberof OrderTenders
     */
    readonly id?: string;
    /**
     *
     * @type {string}
     * @memberof OrderTenders
     */
    name?: string;
    /**
     *
     * @type {string}
     * @memberof OrderTenders
     */
    type?: OrderTendersType;
    /**
     *
     * @type {string}
     * @memberof OrderTenders
     */
    note?: string;
    /**
     *
     * @type {number}
     * @memberof OrderTenders
     */
    amount?: number;
    /**
     *
     * @type {number}
     * @memberof OrderTenders
     */
    percentage?: number;
    /**
     *
     * @type {Currency}
     * @memberof OrderTenders
     */
    currency?: Currency | null;
    /**
     *
     * @type {number}
     * @memberof OrderTenders
     */
    total_amount?: number | null;
    /**
     *
     * @type {number}
     * @memberof OrderTenders
     */
    total_tip?: number | null;
    /**
     *
     * @type {number}
     * @memberof OrderTenders
     */
    total_processing_fee?: number | null;
    /**
     *
     * @type {number}
     * @memberof OrderTenders
     */
    total_tax?: number | null;
    /**
     *
     * @type {number}
     * @memberof OrderTenders
     */
    total_discount?: number | null;
    /**
     *
     * @type {number}
     * @memberof OrderTenders
     */
    total_refund?: number | null;
    /**
     *
     * @type {number}
     * @memberof OrderTenders
     */
    total_service_charge?: number | null;
    /**
     * The amount (in cents) of cash tendered by the buyer. Only applicable when the tender type is cash.
     * @type {number}
     * @memberof OrderTenders
     */
    buyer_tendered_cash_amount?: number | null;
    /**
     * The amount (in cents) of cash returned to the buyer. Only applicable when the tender type is cash.
     * @type {number}
     * @memberof OrderTenders
     */
    change_back_cash_amount?: number | null;
    /**
     *
     * @type {PaymentCard}
     * @memberof OrderTenders
     */
    card?: PaymentCard | null;
    /**
     * The status of the card. Only applicable when the tender type is card.
     * @type {string}
     * @memberof OrderTenders
     */
    card_status?: OrderTendersCardStatus;
    /**
     * The entry method of the card. Only applicable when the tender type is card.
     * @type {string}
     * @memberof OrderTenders
     */
    card_entry_method?: OrderTendersCardEntryMethod;
    /**
     * A unique identifier for an object.
     * @type {string}
     * @memberof OrderTenders
     */
    readonly payment_id?: string;
    /**
     * A unique identifier for an object.
     * @type {string}
     * @memberof OrderTenders
     */
    readonly location_id?: string;
    /**
     * A unique identifier for an object.
     * @type {string}
     * @memberof OrderTenders
     */
    readonly transaction_id?: string;
}
/**
 * @export
 * @enum {string}
 */
export declare enum OrderTendersType {
    cash = "cash",
    card = "card",
    other = "other"
}
/**
 * @export
 * @enum {string}
 */
export declare enum OrderTendersCardStatus {
    authorized = "authorized",
    captured = "captured",
    failed = "failed",
    voided = "voided"
}
/**
 * @export
 * @enum {string}
 */
export declare enum OrderTendersCardEntryMethod {
    evm = "evm",
    swiped = "swiped",
    keyed = "keyed",
    on_file = "on-file",
    contactless = "contactless"
}
export declare function OrderTendersFromJSON(json: any): OrderTenders;
export declare function OrderTendersFromJSONTyped(json: any, ignoreDiscriminator: boolean): OrderTenders;
export declare function OrderTendersToJSON(value?: OrderTenders | null): any;
