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 { CompanyAddress } from "./companyaddress.js"; export declare const EntityType: { readonly CCorporation: "C-Corporation"; readonly SCorporation: "S-Corporation"; readonly SoleProprietor: "Sole proprietor"; readonly Llc: "LLC"; readonly Llp: "LLP"; readonly LimitedPartnership: "Limited partnership"; readonly CoOwnership: "Co-ownership"; readonly Association: "Association"; readonly Trusteeship: "Trusteeship"; readonly GeneralPartnership: "General partnership"; readonly JointVenture: "Joint venture"; readonly NonProfit: "Non-Profit"; }; export type EntityType = ClosedEnum; /** * The Gusto product tier of the company (not applicable to Embedded partner managed companies). */ export declare const Tier: { readonly Simple: "simple"; readonly Plus: "plus"; readonly Premium: "premium"; readonly Core: "core"; readonly Complete: "complete"; readonly Concierge: "concierge"; readonly ContractorOnly: "contractor_only"; readonly Basic: "basic"; }; /** * The Gusto product tier of the company (not applicable to Embedded partner managed companies). */ export type Tier = ClosedEnum; /** * The status of the company in Gusto. "Approved" companies are approved to run payroll from a risk and compliance perspective. However, an approved company may still need to resolve other [payroll blockers](https://docs.gusto.com/embedded-payroll/docs/payroll-blockers) to be able to run payroll. "Not Approved" companies may not yet run payroll with Gusto and may need to complete onboarding or contact support. "Suspended" companies may not run payroll with Gusto. In order to unsuspend their account, the company must contact support. */ export declare const CompanyStatus: { readonly Approved: "Approved"; readonly NotApproved: "Not Approved"; readonly Suspended: "Suspended"; }; /** * The status of the company in Gusto. "Approved" companies are approved to run payroll from a risk and compliance perspective. However, an approved company may still need to resolve other [payroll blockers](https://docs.gusto.com/embedded-payroll/docs/payroll-blockers) to be able to run payroll. "Not Approved" companies may not yet run payroll with Gusto and may need to complete onboarding or contact support. "Suspended" companies may not run payroll with Gusto. In order to unsuspend their account, the company must contact support. */ export type CompanyStatus = ClosedEnum; export declare const PayScheduleType: { readonly Single: "single"; readonly HourlySalaried: "hourly_salaried"; readonly ByEmployee: "by_employee"; readonly ByDepartment: "by_department"; }; export type PayScheduleType = ClosedEnum; export declare const FundingType: { readonly Ach: "ach"; readonly ReverseWire: "reverse_wire"; readonly WireIn: "wire_in"; readonly PartnerDisbursement: "partner_disbursement"; readonly Rtp: "rtp"; readonly LineOfCredit: "line_of_credit"; }; export type FundingType = ClosedEnum; export type Hourly = { /** * The UUID of the hourly compensation rate. */ uuid?: string | null | undefined; /** * The name of the hourly compensation rate. */ name?: string | undefined; /** * The amount multiplied by the base rate of a job to calculate compensation. */ multiple?: number | undefined; }; export type Fixed = { /** * The UUID of the fixed compensation. */ uuid?: string | null | undefined; /** * The name of the fixed compensation. */ name?: string | undefined; }; export type CompanyPaidTimeOff = { /** * The UUID of the paid time off type. */ uuid?: string | null | undefined; /** * The name of the paid time off type. */ name?: string | undefined; }; /** * The available company-wide compensation rates for the company. */ export type Compensations = { /** * The available hourly compensation rates for the company. */ hourly?: Array | undefined; /** * The available fixed compensation rates for the company. */ fixed?: Array | undefined; /** * The available types of paid time off for the company. */ paidTimeOff?: Array | undefined; }; /** * The company's primary signatory's home address. */ export type CompanyHomeAddress = { street1?: string | undefined; street2?: string | null | undefined; city?: string | undefined; state?: string | undefined; zip?: string | undefined; country?: string | undefined; }; /** * The primary signatory of the company. */ export type PrimarySignatory = { /** * The UUID of the company's primary signatory. */ uuid?: string | undefined; /** * The company's primary signatory's first name. */ firstName?: string | undefined; /** * The company's primary signatory's middle initial. */ middleInitial?: string | null | undefined; /** * The company's primary signatory's last name. */ lastName?: string | undefined; /** * The company's primary signatory's phone number. */ phone?: string | undefined; /** * The company's primary signatory's email address. */ email?: string | undefined; /** * The company's primary signatory's home address. */ homeAddress?: CompanyHomeAddress | undefined; }; /** * The primary payroll admin of the company. */ export type PrimaryPayrollAdmin = { /** * The company's primary payroll admin's first name. */ firstName?: string | undefined; /** * The company's primary payroll admin's last name. */ lastName?: string | undefined; /** * The company's primary payroll admin's phone number. */ phone?: string | null | undefined; /** * The company's primary payroll admin's email address. */ email?: string | undefined; }; /** * The representation of a company in Gusto. */ export type Company = { /** * The Federal Employer Identification Number of the company. */ ein?: string | undefined; /** * The tax payer type of the company. */ entityType?: EntityType | null | undefined; /** * Whether the company only supports contractors. */ contractorOnly?: boolean | undefined; /** * The Gusto product tier of the company (not applicable to Embedded partner managed companies). */ tier?: Tier | null | undefined; /** * Whether or not the company is suspended in Gusto. Suspended companies may not run payroll. */ isSuspended?: boolean | undefined; /** * The status of the company in Gusto. "Approved" companies are approved to run payroll from a risk and compliance perspective. However, an approved company may still need to resolve other [payroll blockers](https://docs.gusto.com/embedded-payroll/docs/payroll-blockers) to be able to run payroll. "Not Approved" companies may not yet run payroll with Gusto and may need to complete onboarding or contact support. "Suspended" companies may not run payroll with Gusto. In order to unsuspend their account, the company must contact support. */ companyStatus?: CompanyStatus | undefined; /** * A unique identifier of the company in Gusto. */ uuid: string; /** * The name of the company. */ name?: string | undefined; /** * The slug of the name of the company. */ slug?: string | undefined; /** * The trade name of the company. */ tradeName?: string | null | undefined; /** * Whether the company is fully managed by a partner via the API */ isPartnerManaged?: boolean | undefined; /** * Whether or not Gusto has identified the company as representing a high fraud risk. */ isHighRiskBusiness?: boolean | undefined; /** * Whether or not the company is a marijuana-related business. */ isMarijuanaBusiness?: boolean | undefined; /** * The pay schedule assignment type. */ payScheduleType?: PayScheduleType | null | undefined; /** * Company's first invoiceable event date */ joinDate?: string | null | undefined; /** * Company's default funding type */ fundingType?: FundingType | null | undefined; /** * The locations of the company. */ locations?: Array | undefined; /** * The available company-wide compensation rates for the company. */ compensations?: Compensations | undefined; /** * The primary signatory of the company. */ primarySignatory?: PrimarySignatory | null | undefined; /** * The primary payroll admin of the company. */ primaryPayrollAdmin?: PrimaryPayrollAdmin | undefined; }; /** @internal */ export declare const EntityType$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const Tier$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const CompanyStatus$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const PayScheduleType$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const FundingType$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const Hourly$inboundSchema: z.ZodType; export declare function hourlyFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const Fixed$inboundSchema: z.ZodType; export declare function fixedFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const CompanyPaidTimeOff$inboundSchema: z.ZodType; export declare function companyPaidTimeOffFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const Compensations$inboundSchema: z.ZodType; export declare function compensationsFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const CompanyHomeAddress$inboundSchema: z.ZodType; export declare function companyHomeAddressFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const PrimarySignatory$inboundSchema: z.ZodType; export declare function primarySignatoryFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const PrimaryPayrollAdmin$inboundSchema: z.ZodType; export declare function primaryPayrollAdminFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const Company$inboundSchema: z.ZodType; export declare function companyFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=company.d.ts.map