/**
 * 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 { CustomField } from './CustomField';
import { PassThroughBody } from './PassThroughBody';
/**
 *
 * @export
 * @interface TaxRate
 */
export interface TaxRate {
    /**
     * ID assigned to identify this tax rate.
     * @type {string}
     * @memberof TaxRate
     */
    id?: string | null;
    /**
     * Name assigned to identify this tax rate.
     * @type {string}
     * @memberof TaxRate
     */
    name?: string;
    /**
     * Tax code assigned to identify this tax rate.
     * @type {string}
     * @memberof TaxRate
     */
    code?: string | null;
    /**
     * Description of tax rate
     * @type {string}
     * @memberof TaxRate
     */
    description?: string | null;
    /**
     * Effective tax rate
     * @type {number}
     * @memberof TaxRate
     */
    effective_tax_rate?: number | null;
    /**
     * Not compounded sum of the components of a tax rate
     * @type {number}
     * @memberof TaxRate
     */
    total_tax_rate?: number | null;
    /**
     * Unique identifier for the account for tax collected.
     * @type {string}
     * @memberof TaxRate
     */
    tax_payable_account_id?: string | null;
    /**
     * Unique identifier for the account for tax remitted.
     * @type {string}
     * @memberof TaxRate
     */
    tax_remitted_account_id?: string | null;
    /**
     *
     * @type {Array<object>}
     * @memberof TaxRate
     */
    components?: Array<object> | null;
    /**
     * Tax type used to indicate the source of tax collected or paid
     * @type {string}
     * @memberof TaxRate
     */
    type?: string | null;
    /**
     * Report Tax type to aggregate tax collected or paid for reporting purposes
     * @type {string}
     * @memberof TaxRate
     */
    report_tax_type?: string | null;
    /**
     * ID of the original tax rate from which the new tax rate is derived. Helps to understand the relationship between corresponding tax rate entities.
     * @type {string}
     * @memberof TaxRate
     */
    original_tax_rate_id?: string | null;
    /**
     * Tax rate status
     * @type {string}
     * @memberof TaxRate
     */
    status?: TaxRateStatus;
    /**
     * When custom mappings are configured on the resource, the result is included here.
     * @type {object}
     * @memberof TaxRate
     */
    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 TaxRate
     */
    row_version?: string | null;
    /**
     * The user who last updated the object.
     * @type {string}
     * @memberof TaxRate
     */
    readonly updated_by?: string | null;
    /**
     * The user who created the object.
     * @type {string}
     * @memberof TaxRate
     */
    readonly created_by?: string | null;
    /**
     * The date and time when the object was last updated.
     * @type {Date}
     * @memberof TaxRate
     */
    readonly updated_at?: Date | null;
    /**
     * The date and time when the object was created.
     * @type {Date}
     * @memberof TaxRate
     */
    readonly created_at?: Date | null;
    /**
     *
     * @type {PassThroughBody}
     * @memberof TaxRate
     */
    pass_through?: PassThroughBody;
    /**
     * The subsidiaries this belongs to.
     * @type {Array<object>}
     * @memberof TaxRate
     */
    subsidiaries?: Array<object>;
    /**
     *
     * @type {Array<CustomField>}
     * @memberof TaxRate
     */
    custom_fields?: Array<CustomField>;
}
/**
 * @export
 * @enum {string}
 */
export declare enum TaxRateStatus {
    active = "active",
    inactive = "inactive",
    archived = "archived"
}
export declare function TaxRateFromJSON(json: any): TaxRate;
export declare function TaxRateFromJSONTyped(json: any, ignoreDiscriminator: boolean): TaxRate;
export declare function TaxRateToJSON(value?: TaxRate | null): any;
