/**
 * 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.
 */
/**
 *
 * @export
 * @interface Allocation
 */
export interface Allocation {
    /**
     * Unique identifier of entity this payment should be attributed to.
     * @type {string}
     * @memberof Allocation
     */
    id?: string;
    /**
     * Type of entity this payment should be attributed to.
     * @type {string}
     * @memberof Allocation
     */
    type?: AllocationType;
    /**
     *
     * @type {string}
     * @memberof Allocation
     */
    readonly code?: string;
    /**
     * Amount of payment that should be attributed to this allocation. If null, the total_amount will be used.
     * @type {number}
     * @memberof Allocation
     */
    amount?: number | null;
    /**
     * Unique identifier of the allocation
     * @type {string}
     * @memberof Allocation
     */
    allocation_id?: string;
}
/**
 * @export
 * @enum {string}
 */
export declare enum AllocationType {
    invoice = "invoice",
    order = "order",
    expense = "expense",
    credit_memo = "credit_memo",
    over_payment = "over_payment",
    pre_payment = "pre_payment",
    journal_entry = "journal_entry",
    other = "other",
    bill = "bill"
}
export declare function AllocationFromJSON(json: any): Allocation;
export declare function AllocationFromJSONTyped(json: any, ignoreDiscriminator: boolean): Allocation;
export declare function AllocationToJSON(value?: Allocation | null): any;
