/**
 * 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 { BankAccount } from './BankAccount';
import { CompanyRowType } from './CompanyRowType';
import { Currency } from './Currency';
import { CustomField } from './CustomField';
import { Email } from './Email';
import { PassThroughBody } from './PassThroughBody';
import { PhoneNumber } from './PhoneNumber';
import { SocialLink } from './SocialLink';
import { Tags } from './Tags';
import { Website } from './Website';
/**
 *
 * @export
 * @interface Company
 */
export interface Company {
    /**
     * Name of the company
     * @type {string}
     * @memberof Company
     */
    name: string | null;
    /**
     * Unique identifier for the company
     * @type {string}
     * @memberof Company
     */
    readonly id?: string;
    /**
     * Number of interactions
     * @type {number}
     * @memberof Company
     */
    readonly interaction_count?: number | null;
    /**
     * Owner ID
     * @type {string}
     * @memberof Company
     */
    owner_id?: string | null;
    /**
     * The Image URL of the company
     * @type {string}
     * @memberof Company
     */
    image?: string | null;
    /**
     * A description of the company
     * @type {string}
     * @memberof Company
     */
    description?: string | null;
    /**
     * The VAT number of the company
     * @type {string}
     * @memberof Company
     */
    vat_number?: string | null;
    /**
     *
     * @type {Currency}
     * @memberof Company
     */
    currency?: Currency | null;
    /**
     * The status of the company
     * @type {string}
     * @memberof Company
     */
    status?: string | null;
    /**
     * The fax number of the company
     * @type {string}
     * @memberof Company
     */
    fax?: string | null;
    /**
     * The annual revenue of the company
     * @type {string}
     * @memberof Company
     */
    annual_revenue?: string | null;
    /**
     * Number of employees
     * @type {string}
     * @memberof Company
     */
    number_of_employees?: string | null;
    /**
     * The industry represents the type of business the company is in.
     * @type {string}
     * @memberof Company
     */
    industry?: string | null;
    /**
     * The ownership indicates the type of ownership of the company.
     * @type {string}
     * @memberof Company
     */
    ownership?: string | null;
    /**
     * A sales tax number is a unique number that identifies a company for tax purposes.
     * @type {string}
     * @memberof Company
     */
    sales_tax_number?: string | null;
    /**
     * A payee number is a unique number that identifies a payee for tax purposes.
     * @type {string}
     * @memberof Company
     */
    payee_number?: string | null;
    /**
     * An ABN is necessary for operating a business, while a TFN (Tax File Number) is required for any person working in Australia.
     * @type {string}
     * @memberof Company
     */
    abn_or_tfn?: string | null;
    /**
     * An ABN Branch (also known as a GST Branch) is used if part of your business needs to account for GST separately from its parent entity.
     * @type {string}
     * @memberof Company
     */
    abn_branch?: string | null;
    /**
     * The Australian Company Number (ACN) is a nine digit number with the last digit being a check digit calculated using a modified modulus 10 calculation. ASIC has adopted a convention of always printing and displaying the ACN in the format XXX XXX XXX; three blocks of three characters, each block separated by a blank.
     * @type {string}
     * @memberof Company
     */
    acn?: string | null;
    /**
     * The first name of the person.
     * @type {string}
     * @memberof Company
     */
    first_name?: string | null;
    /**
     * The last name of the person.
     * @type {string}
     * @memberof Company
     */
    last_name?: string | null;
    /**
     * Parent ID
     * @type {string}
     * @memberof Company
     */
    readonly parent_id?: string | null;
    /**
     *
     * @type {Array<BankAccount>}
     * @memberof Company
     */
    bank_accounts?: Array<BankAccount>;
    /**
     *
     * @type {Array<Website>}
     * @memberof Company
     */
    websites?: Array<Website>;
    /**
     *
     * @type {Array<Address>}
     * @memberof Company
     */
    addresses?: Array<Address>;
    /**
     *
     * @type {Array<SocialLink>}
     * @memberof Company
     */
    social_links?: Array<SocialLink>;
    /**
     *
     * @type {Array<PhoneNumber>}
     * @memberof Company
     */
    phone_numbers?: Array<PhoneNumber>;
    /**
     *
     * @type {Array<Email>}
     * @memberof Company
     */
    emails?: Array<Email>;
    /**
     *
     * @type {CompanyRowType}
     * @memberof Company
     */
    row_type?: CompanyRowType;
    /**
     *
     * @type {Array<CustomField>}
     * @memberof Company
     */
    custom_fields?: Array<CustomField>;
    /**
     *
     * @type {Tags}
     * @memberof Company
     */
    tags?: Tags | null;
    /**
     * Whether the company is read-only or not
     * @type {boolean}
     * @memberof Company
     */
    read_only?: boolean | null;
    /**
     * Last activity date
     * @type {Date}
     * @memberof Company
     */
    readonly last_activity_at?: Date | null;
    /**
     * Whether the company is deleted or not
     * @type {boolean}
     * @memberof Company
     */
    readonly deleted?: boolean;
    /**
     * A formal salutation for the person. For example, 'Mr', 'Mrs'
     * @type {string}
     * @memberof Company
     */
    salutation?: string | null;
    /**
     * The date of birth of the person.
     * @type {Date}
     * @memberof Company
     */
    birthday?: Date | null;
    /**
     * When custom mappings are configured on the resource, the result is included here.
     * @type {object}
     * @memberof Company
     */
    readonly custom_mappings?: object | null;
    /**
     * Updated by user ID
     * @type {string}
     * @memberof Company
     */
    readonly updated_by?: string | null;
    /**
     * Created by user ID
     * @type {string}
     * @memberof Company
     */
    readonly created_by?: string | null;
    /**
     * Last updated date
     * @type {Date}
     * @memberof Company
     */
    readonly updated_at?: Date | null;
    /**
     * Creation date
     * @type {Date}
     * @memberof Company
     */
    readonly created_at?: Date | null;
    /**
     *
     * @type {PassThroughBody}
     * @memberof Company
     */
    pass_through?: PassThroughBody;
}
export declare function CompanyFromJSON(json: any): Company;
export declare function CompanyFromJSONTyped(json: any, ignoreDiscriminator: boolean): Company;
export declare function CompanyToJSON(value?: Company | null): any;
