import * as z from "zod/v3"; import { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { CompanySuspension } from "../components/companysuspension.js"; import { HTTPMetadata } from "../components/httpmetadata.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. */ export declare const PostCompaniesCompanyUuidSuspensionsHeaderXGustoAPIVersion: { readonly TwoThousandAndTwentyFiveMinus06Minus15: "2025-06-15"; }; /** * Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. */ export type PostCompaniesCompanyUuidSuspensionsHeaderXGustoAPIVersion = ClosedEnum; /** * How Gusto will handle taxes already collected. */ export declare const ReconcileTaxMethod: { readonly PayTaxes: "pay_taxes"; readonly RefundTaxes: "refund_taxes"; }; /** * How Gusto will handle taxes already collected. */ export type ReconcileTaxMethod = ClosedEnum; /** * Explanation for why the company is suspending their account. * * @remarks * * > 🚧 FEIN or entity type changes require Customer Support * > If a company is switching FEIN or changing their entity type, this change must be performed by Gusto Customer Support and cannot be performed via the API at this time. */ export declare const Reason: { readonly SwitchingProvider: "switching_provider"; readonly ShuttingDown: "shutting_down"; readonly Acquired: "acquired"; readonly NoMoreEmployees: "no_more_employees"; readonly ChangingEinOrEntityType: "changing_ein_or_entity_type"; }; /** * Explanation for why the company is suspending their account. * * @remarks * * > 🚧 FEIN or entity type changes require Customer Support * > If a company is switching FEIN or changing their entity type, this change must be performed by Gusto Customer Support and cannot be performed via the API at this time. */ export type Reason = ClosedEnum; /** * The competitor the company is switching to. Required if `reason` is `'switching_provider'`. * * @remarks * * > 🚧 Switching to Gusto requires Customer Support * > If `'gusto_com'` is selected, this change must be completed by Gusto Customer Support and cannot be performed via the API. This endpoint will return a 422 error in that case. */ export declare const LeavingFor: { readonly Accountant: "accountant"; readonly Adp: "adp"; readonly AdpTotalSource: "adp_total_source"; readonly BambooHr: "bamboo_hr"; readonly BankOrFinancialInstitution: "bank_or_financial_institution"; readonly Check: "check"; readonly Deel: "deel"; readonly GustoCom: "gusto_com"; readonly Homebase: "homebase"; readonly Insperity: "insperity"; readonly IntuitOrQuickbooks: "intuit_or_quickbooks"; readonly Justworks: "justworks"; readonly Manual: "manual"; readonly Namely: "namely"; readonly Onpay: "onpay"; readonly Other: "other"; readonly Oyster: "oyster"; readonly Patriot: "patriot"; readonly Paychex: "paychex"; readonly Paycom: "paycom"; readonly Paylocity: "paylocity"; readonly Remote: "remote"; readonly Rippling: "rippling"; readonly Square: "square"; readonly Surepayroll: "surepayroll"; readonly Trinet: "trinet"; readonly VelocityGlobal: "velocity_global"; readonly Zenefits: "zenefits"; }; /** * The competitor the company is switching to. Required if `reason` is `'switching_provider'`. * * @remarks * * > 🚧 Switching to Gusto requires Customer Support * > If `'gusto_com'` is selected, this change must be completed by Gusto Customer Support and cannot be performed via the API. This endpoint will return a 422 error in that case. */ export type LeavingFor = ClosedEnum; export type PostCompaniesCompanyUuidSuspensionsRequestBody = { /** * Should Gusto file quarterly tax forms on behalf of the company? The correct answer can depend on why the company is suspending their account, and how taxes are being reconciled. */ fileQuarterlyForms: boolean; /** * Should Gusto file yearly tax forms on behalf of the company? The correct answer can depend on why the company is suspending their account, and how taxes are being reconciled. */ fileYearlyForms: boolean; /** * How Gusto will handle taxes already collected. */ reconcileTaxMethod: ReconcileTaxMethod; /** * User-supplied comments describing why they are suspending their account. Required if the user is leaving for another provider and selects "other" instead of a defined provider. */ comments?: string | undefined; /** * Explanation for why the company is suspending their account. * * @remarks * * > 🚧 FEIN or entity type changes require Customer Support * > If a company is switching FEIN or changing their entity type, this change must be performed by Gusto Customer Support and cannot be performed via the API at this time. */ reason: Reason; /** * The competitor the company is switching to. Required if `reason` is `'switching_provider'`. * * @remarks * * > 🚧 Switching to Gusto requires Customer Support * > If `'gusto_com'` is selected, this change must be completed by Gusto Customer Support and cannot be performed via the API. This endpoint will return a 422 error in that case. */ leavingFor?: LeavingFor | undefined; }; export type PostCompaniesCompanyUuidSuspensionsRequest = { /** * Determines the date-based API version associated with your API call. If none is provided, your application's [minimum API version](https://docs.gusto.com/embedded-payroll/docs/api-versioning#minimum-api-version) is used. */ xGustoAPIVersion?: PostCompaniesCompanyUuidSuspensionsHeaderXGustoAPIVersion | undefined; /** * The UUID of the company */ companyUuid: string; requestBody: PostCompaniesCompanyUuidSuspensionsRequestBody; }; export type PostCompaniesCompanyUuidSuspensionsResponse = { httpMeta: HTTPMetadata; /** * Successful response */ companySuspension?: CompanySuspension | undefined; }; /** @internal */ export declare const PostCompaniesCompanyUuidSuspensionsHeaderXGustoAPIVersion$outboundSchema: z.ZodNativeEnum; /** @internal */ export declare const ReconcileTaxMethod$outboundSchema: z.ZodNativeEnum; /** @internal */ export declare const Reason$outboundSchema: z.ZodNativeEnum; /** @internal */ export declare const LeavingFor$outboundSchema: z.ZodNativeEnum; /** @internal */ export type PostCompaniesCompanyUuidSuspensionsRequestBody$Outbound = { file_quarterly_forms: boolean; file_yearly_forms: boolean; reconcile_tax_method: string; comments?: string | undefined; reason: string; leaving_for?: string | undefined; }; /** @internal */ export declare const PostCompaniesCompanyUuidSuspensionsRequestBody$outboundSchema: z.ZodType; export declare function postCompaniesCompanyUuidSuspensionsRequestBodyToJSON(postCompaniesCompanyUuidSuspensionsRequestBody: PostCompaniesCompanyUuidSuspensionsRequestBody): string; /** @internal */ export type PostCompaniesCompanyUuidSuspensionsRequest$Outbound = { "X-Gusto-API-Version": string; company_uuid: string; RequestBody: PostCompaniesCompanyUuidSuspensionsRequestBody$Outbound; }; /** @internal */ export declare const PostCompaniesCompanyUuidSuspensionsRequest$outboundSchema: z.ZodType; export declare function postCompaniesCompanyUuidSuspensionsRequestToJSON(postCompaniesCompanyUuidSuspensionsRequest: PostCompaniesCompanyUuidSuspensionsRequest): string; /** @internal */ export declare const PostCompaniesCompanyUuidSuspensionsResponse$inboundSchema: z.ZodType; export declare function postCompaniesCompanyUuidSuspensionsResponseFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=postcompaniescompanyuuidsuspensions.d.ts.map