import type { AddressCreate } from './AddressCreate';
import type { LineItemCreate } from './LineItemCreate';
import type { DebtCollectionEnvironment } from './DebtCollectionEnvironment';
/**
 * The debt collection case represents a try to collect the money from the debtor.
 * @export
 * @interface DebtCollectionCaseCreate
 */
export interface DebtCollectionCaseCreate {
    /**
     * The line items that are subject of this debt collection case.
     * @type {Array<LineItemCreate>}
     * @memberof DebtCollectionCaseCreate
     */
    lineItems?: Array<LineItemCreate>;
    /**
     * The date and time when the contract with the debtor was signed.
     * @type {Date}
     * @memberof DebtCollectionCaseCreate
     */
    contractDate?: Date;
    /**
     *
     * @type {DebtCollectionEnvironment}
     * @memberof DebtCollectionCaseCreate
     */
    environment?: DebtCollectionEnvironment;
    /**
     * The date and time when the claim was due.
     * @type {Date}
     * @memberof DebtCollectionCaseCreate
     */
    dueDate?: Date;
    /**
     * The three-letter code (ISO 4217 format) of the case's currency.
     * @type {string}
     * @memberof DebtCollectionCaseCreate
     */
    currency?: string;
    /**
     * The language that is linked to the object.
     * @type {string}
     * @memberof DebtCollectionCaseCreate
     */
    language?: string;
    /**
     *
     * @type {AddressCreate}
     * @memberof DebtCollectionCaseCreate
     */
    billingAddress?: AddressCreate;
    /**
     * The ID of the space view this object is linked to.
     * @type {number}
     * @memberof DebtCollectionCaseCreate
     */
    spaceViewId?: number;
    /**
     * A unique reference to identify the debt collection case in communication with the debtor.
     * @type {string}
     * @memberof DebtCollectionCaseCreate
     */
    reference: string;
    /**
     * A client-generated nonce which uniquely identifies some action to be executed. Subsequent requests with the same external ID do not execute the action again, but return the original result.
     * @type {string}
     * @memberof DebtCollectionCaseCreate
     */
    externalId: string;
    /**
     * The configuration that the case is processed with.
     * @type {number}
     * @memberof DebtCollectionCaseCreate
     */
    collectorConfiguration?: number;
}
/**
 * Check if a given object implements the DebtCollectionCaseCreate interface.
 */
export declare function instanceOfDebtCollectionCaseCreate(value: object): value is DebtCollectionCaseCreate;
export declare function DebtCollectionCaseCreateFromJSON(json: any): DebtCollectionCaseCreate;
export declare function DebtCollectionCaseCreateFromJSONTyped(json: any, ignoreDiscriminator: boolean): DebtCollectionCaseCreate;
export declare function DebtCollectionCaseCreateToJSON(json: any): DebtCollectionCaseCreate;
export declare function DebtCollectionCaseCreateToJSONTyped(value?: DebtCollectionCaseCreate | null, ignoreDiscriminator?: boolean): any;
