import * as z from "zod/v3";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { Address } from "./address.js";
import { Currency } from "./currency.js";
import { Email } from "./email.js";
import { PhoneNumber } from "./phonenumber.js";
import { TaxRate } from "./taxrate.js";
/**
 * Based on the status some functionality is enabled or disabled.
 */
export declare const CompanyStatus: {
    readonly Active: "active";
    readonly Inactive: "inactive";
};
/**
 * Based on the status some functionality is enabled or disabled.
 */
export type CompanyStatus = OpenEnum<typeof CompanyStatus>;
/**
 * The start month of fiscal year.
 */
export declare const TheStartMonthOfFiscalYear: {
    readonly January: "January";
    readonly February: "February";
    readonly March: "March";
    readonly April: "April";
    readonly May: "May";
    readonly June: "June";
    readonly July: "July";
    readonly August: "August";
    readonly September: "September";
    readonly October: "October";
    readonly November: "November";
    readonly December: "December";
};
/**
 * The start month of fiscal year.
 */
export type TheStartMonthOfFiscalYear = OpenEnum<typeof TheStartMonthOfFiscalYear>;
/**
 * The mode of tracking categories for the company on transactions
 */
export declare const TrackingCategoriesMode: {
    readonly Transaction: "transaction";
    readonly Line: "line";
    readonly Both: "both";
    readonly Disabled: "disabled";
};
/**
 * The mode of tracking categories for the company on transactions
 */
export type TrackingCategoriesMode = OpenEnum<typeof TrackingCategoriesMode>;
export type CompanyInfo = {
    /**
     * A unique identifier for an object.
     */
    id?: string | undefined;
    /**
     * The name of the company.
     */
    companyName?: string | null | undefined;
    /**
     * Based on the status some functionality is enabled or disabled.
     */
    status?: CompanyStatus | undefined;
    /**
     * The legal name of the company
     */
    legalName?: string | undefined;
    /**
     * country code according to ISO 3166-1 alpha-2.
     */
    country?: string | null | undefined;
    salesTaxNumber?: string | null | undefined;
    /**
     * Whether sales tax is calculated automatically for the company
     */
    automatedSalesTax?: boolean | undefined;
    /**
     * Whether sales tax is enabled for the company
     */
    salesTaxEnabled?: boolean | undefined;
    defaultSalesTax?: TaxRate | undefined;
    /**
     * Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).
     */
    currency?: Currency | null | undefined;
    /**
     * language code according to ISO 639-1. For the United States - EN
     */
    language?: string | null | undefined;
    /**
     * The start month of fiscal year.
     */
    fiscalYearStartMonth?: TheStartMonthOfFiscalYear | undefined;
    /**
     * Date when company file was created
     */
    companyStartDate?: Date | undefined;
    addresses?: Array<Address> | undefined;
    phoneNumbers?: Array<PhoneNumber> | undefined;
    emails?: Array<Email> | undefined;
    /**
     * When custom mappings are configured on the resource, the result is included here.
     */
    customMappings?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * Whether tracking categories are enabled for the company on transactions
     */
    trackingCategoriesEnabled?: boolean | undefined;
    /**
     * The mode of tracking categories for the company on transactions
     */
    trackingCategoriesMode?: TrackingCategoriesMode | undefined;
    /**
     * 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.
     */
    rowVersion?: string | null | undefined;
    /**
     * The user who last updated the object.
     */
    updatedBy?: string | null | undefined;
    /**
     * The user who created the object.
     */
    createdBy?: string | null | undefined;
    /**
     * The date and time when the object was last updated.
     */
    updatedAt?: Date | null | undefined;
    /**
     * The date and time when the object was created.
     */
    createdAt?: Date | null | undefined;
};
/** @internal */
export declare const CompanyStatus$inboundSchema: z.ZodType<CompanyStatus, z.ZodTypeDef, unknown>;
/** @internal */
export declare const TheStartMonthOfFiscalYear$inboundSchema: z.ZodType<TheStartMonthOfFiscalYear, z.ZodTypeDef, unknown>;
/** @internal */
export declare const TrackingCategoriesMode$inboundSchema: z.ZodType<TrackingCategoriesMode, z.ZodTypeDef, unknown>;
/** @internal */
export declare const CompanyInfo$inboundSchema: z.ZodType<CompanyInfo, z.ZodTypeDef, unknown>;
export declare function companyInfoFromJSON(jsonString: string): SafeParseResult<CompanyInfo, SDKValidationError>;
//# sourceMappingURL=companyinfo.d.ts.map