import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { Address, Address$Outbound } from "./address.js";
import { Currency } from "./currency.js";
import { Email, Email$Outbound } from "./email.js";
import { PassThroughBody, PassThroughBody$Outbound } from "./passthroughbody.js";
import { PhoneNumber, PhoneNumber$Outbound } from "./phonenumber.js";
import { Website, Website$Outbound } from "./website.js";
export declare const HrisCompanyStatus: {
    readonly Active: "active";
    readonly Inactive: "inactive";
    readonly Trial: "trial";
    readonly Other: "other";
};
export type HrisCompanyStatus = ClosedEnum<typeof HrisCompanyStatus>;
export type HrisCompany = {
    /**
     * A unique identifier for an object.
     */
    id?: string | undefined;
    legalName: string | null;
    displayName?: string | null | undefined;
    subdomain?: string | null | undefined;
    status?: HrisCompanyStatus | undefined;
    /**
     * An Company Number, Company ID or Company Code, is a unique number that has been assigned to each company.
     */
    companyNumber?: string | null | 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;
    addresses?: Array<Address> | undefined;
    phoneNumbers?: Array<PhoneNumber> | undefined;
    emails?: Array<Email> | undefined;
    websites?: Array<Website> | undefined;
    debtorId?: string | null | undefined;
    /**
     * When custom mappings are configured on the resource, the result is included here.
     */
    customMappings?: {
        [k: string]: any;
    } | null | undefined;
    deleted?: boolean | 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;
    /**
     * The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.
     */
    passThrough?: Array<PassThroughBody> | undefined;
};
export type HrisCompanyInput = {
    legalName: string | null;
    displayName?: string | null | undefined;
    subdomain?: string | null | undefined;
    status?: HrisCompanyStatus | undefined;
    /**
     * An Company Number, Company ID or Company Code, is a unique number that has been assigned to each company.
     */
    companyNumber?: string | null | 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;
    addresses?: Array<Address> | undefined;
    phoneNumbers?: Array<PhoneNumber> | undefined;
    emails?: Array<Email> | undefined;
    websites?: Array<Website> | undefined;
    debtorId?: string | null | undefined;
    /**
     * The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.
     */
    passThrough?: Array<PassThroughBody> | undefined;
};
/** @internal */
export declare const HrisCompanyStatus$inboundSchema: z.ZodNativeEnum<typeof HrisCompanyStatus>;
/** @internal */
export declare const HrisCompanyStatus$outboundSchema: z.ZodNativeEnum<typeof HrisCompanyStatus>;
/** @internal */
export declare const HrisCompany$inboundSchema: z.ZodType<HrisCompany, z.ZodTypeDef, unknown>;
export declare function hrisCompanyFromJSON(jsonString: string): SafeParseResult<HrisCompany, SDKValidationError>;
/** @internal */
export type HrisCompanyInput$Outbound = {
    legal_name: string | null;
    display_name?: string | null | undefined;
    subdomain?: string | null | undefined;
    status?: string | undefined;
    company_number?: string | null | undefined;
    currency?: string | null | undefined;
    addresses?: Array<Address$Outbound> | undefined;
    phone_numbers?: Array<PhoneNumber$Outbound> | undefined;
    emails?: Array<Email$Outbound> | undefined;
    websites?: Array<Website$Outbound> | undefined;
    debtor_id?: string | null | undefined;
    pass_through?: Array<PassThroughBody$Outbound> | undefined;
};
/** @internal */
export declare const HrisCompanyInput$outboundSchema: z.ZodType<HrisCompanyInput$Outbound, z.ZodTypeDef, HrisCompanyInput>;
export declare function hrisCompanyInputToJSON(hrisCompanyInput: HrisCompanyInput): string;
//# sourceMappingURL=hriscompany.d.ts.map