/**
 * 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 { Address } from './Address';
import { PassThroughBody } from './PassThroughBody';
import { SubsidiaryReference } from './SubsidiaryReference';
/**
 *
 * @export
 * @interface AccountingLocation
 */
export interface AccountingLocation {
    /**
     * A unique identifier for an object.
     * @type {string}
     * @memberof AccountingLocation
     */
    readonly id?: string;
    /**
     * A unique identifier for an object.
     * @type {string}
     * @memberof AccountingLocation
     */
    parent_id?: string | null;
    /**
     * The name of the company.
     * @type {string}
     * @memberof AccountingLocation
     */
    company_name?: string | null;
    /**
     * The display name of the location.
     * @type {string}
     * @memberof AccountingLocation
     */
    display_name?: string | null;
    /**
     * Based on the status some functionality is enabled or disabled.
     * @type {string}
     * @memberof AccountingLocation
     */
    status?: AccountingLocationStatus;
    /**
     *
     * @type {Array<Address>}
     * @memberof AccountingLocation
     */
    addresses?: Array<Address>;
    /**
     *
     * @type {Array<SubsidiaryReference>}
     * @memberof AccountingLocation
     */
    subsidiaries?: Array<SubsidiaryReference>;
    /**
     * When custom mappings are configured on the resource, the result is included here.
     * @type {object}
     * @memberof AccountingLocation
     */
    readonly custom_mappings?: object | null;
    /**
     * A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.
     * @type {string}
     * @memberof AccountingLocation
     */
    row_version?: string | null;
    /**
     * The user who last updated the object.
     * @type {string}
     * @memberof AccountingLocation
     */
    readonly updated_by?: string | null;
    /**
     * The user who created the object.
     * @type {string}
     * @memberof AccountingLocation
     */
    readonly created_by?: string | null;
    /**
     * The date and time when the object was last updated.
     * @type {Date}
     * @memberof AccountingLocation
     */
    readonly updated_at?: Date | null;
    /**
     * The date and time when the object was created.
     * @type {Date}
     * @memberof AccountingLocation
     */
    readonly created_at?: Date | null;
    /**
     *
     * @type {PassThroughBody}
     * @memberof AccountingLocation
     */
    pass_through?: PassThroughBody;
}
/**
 * @export
 * @enum {string}
 */
export declare enum AccountingLocationStatus {
    active = "active",
    inactive = "inactive"
}
export declare function AccountingLocationFromJSON(json: any): AccountingLocation;
export declare function AccountingLocationFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountingLocation;
export declare function AccountingLocationToJSON(value?: AccountingLocation | null): any;
