import * as z from "zod"; import { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { CustomField, CustomField$Outbound } from "./customfield.js"; import { LinkedInvoiceItem, LinkedInvoiceItem$Outbound } from "./linkedinvoiceitem.js"; import { LinkedLedgerAccount, LinkedLedgerAccount$Outbound } from "./linkedledgeraccount.js"; import { LinkedLedgerAccountInput, LinkedLedgerAccountInput$Outbound } from "./linkedledgeraccountinput.js"; import { LinkedTaxRate, LinkedTaxRate$Outbound } from "./linkedtaxrate.js"; import { LinkedTaxRateInput, LinkedTaxRateInput$Outbound } from "./linkedtaxrateinput.js"; import { LinkedTrackingCategory, LinkedTrackingCategory$Outbound } from "./linkedtrackingcategory.js"; /** * Item type */ export declare const InvoiceLineItemType: { readonly SalesItem: "sales_item"; readonly Discount: "discount"; readonly Info: "info"; readonly SubTotal: "sub_total"; readonly Other: "other"; }; /** * Item type */ export type InvoiceLineItemType = ClosedEnum; export type InvoiceLineItem = { /** * A unique identifier for an object. */ id?: string | null | undefined; /** * Row ID */ rowId?: string | undefined; /** * User defined item code */ code?: string | null | undefined; /** * Line number of the resource */ lineNumber?: number | null | undefined; /** * User defined description */ description?: string | null | undefined; /** * Item type */ type?: InvoiceLineItemType | null | undefined; /** * Tax amount */ taxAmount?: number | null | undefined; /** * Total amount of the line item */ totalAmount?: number | null | undefined; quantity?: number | null | undefined; unitPrice?: number | null | undefined; /** * Description of the unit type the item is sold as, ie: kg, hour. */ unitOfMeasure?: string | null | undefined; /** * Discount percentage applied to the line item when supported downstream. */ discountPercentage?: number | null | undefined; /** * Discount amount applied to the line item when supported downstream. */ discountAmount?: number | null | undefined; /** * Location id */ locationId?: string | null | undefined; /** * Department id */ departmentId?: string | null | undefined; item?: LinkedInvoiceItem | undefined; taxRate?: LinkedTaxRate | undefined; /** * A list of linked tracking categories. */ trackingCategories?: Array | null | undefined; ledgerAccount?: LinkedLedgerAccount | null | undefined; customFields?: Array | 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 created. */ createdAt?: Date | null | undefined; /** * The date and time when the object was last updated. */ updatedAt?: Date | null | undefined; }; export type InvoiceLineItemInput = { /** * A unique identifier for an object. */ id?: string | null | undefined; /** * Row ID */ rowId?: string | undefined; /** * User defined item code */ code?: string | null | undefined; /** * Line number of the resource */ lineNumber?: number | null | undefined; /** * User defined description */ description?: string | null | undefined; /** * Item type */ type?: InvoiceLineItemType | null | undefined; /** * Tax amount */ taxAmount?: number | null | undefined; /** * Total amount of the line item */ totalAmount?: number | null | undefined; quantity?: number | null | undefined; unitPrice?: number | null | undefined; /** * Description of the unit type the item is sold as, ie: kg, hour. */ unitOfMeasure?: string | null | undefined; /** * Discount percentage applied to the line item when supported downstream. */ discountPercentage?: number | null | undefined; /** * Discount amount applied to the line item when supported downstream. */ discountAmount?: number | null | undefined; /** * Location id */ locationId?: string | null | undefined; /** * Department id */ departmentId?: string | null | undefined; item?: LinkedInvoiceItem | undefined; taxRate?: LinkedTaxRateInput | undefined; /** * A list of linked tracking categories. */ trackingCategories?: Array | null | undefined; ledgerAccount?: LinkedLedgerAccountInput | null | undefined; customFields?: Array | 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; }; /** @internal */ export declare const InvoiceLineItemType$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const InvoiceLineItemType$outboundSchema: z.ZodNativeEnum; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export declare namespace InvoiceLineItemType$ { /** @deprecated use `InvoiceLineItemType$inboundSchema` instead. */ const inboundSchema: z.ZodNativeEnum<{ readonly SalesItem: "sales_item"; readonly Discount: "discount"; readonly Info: "info"; readonly SubTotal: "sub_total"; readonly Other: "other"; }>; /** @deprecated use `InvoiceLineItemType$outboundSchema` instead. */ const outboundSchema: z.ZodNativeEnum<{ readonly SalesItem: "sales_item"; readonly Discount: "discount"; readonly Info: "info"; readonly SubTotal: "sub_total"; readonly Other: "other"; }>; } /** @internal */ export declare const InvoiceLineItem$inboundSchema: z.ZodType; /** @internal */ export type InvoiceLineItem$Outbound = { id?: string | null | undefined; row_id?: string | undefined; code?: string | null | undefined; line_number?: number | null | undefined; description?: string | null | undefined; type?: string | null | undefined; tax_amount?: number | null | undefined; total_amount?: number | null | undefined; quantity?: number | null | undefined; unit_price?: number | null | undefined; unit_of_measure?: string | null | undefined; discount_percentage?: number | null | undefined; discount_amount?: number | null | undefined; location_id?: string | null | undefined; department_id?: string | null | undefined; item?: LinkedInvoiceItem$Outbound | undefined; tax_rate?: LinkedTaxRate$Outbound | undefined; tracking_categories?: Array | null | undefined; ledger_account?: LinkedLedgerAccount$Outbound | null | undefined; custom_fields?: Array | undefined; row_version?: string | null | undefined; updated_by?: string | null | undefined; created_by?: string | null | undefined; created_at?: string | null | undefined; updated_at?: string | null | undefined; }; /** @internal */ export declare const InvoiceLineItem$outboundSchema: z.ZodType; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export declare namespace InvoiceLineItem$ { /** @deprecated use `InvoiceLineItem$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `InvoiceLineItem$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `InvoiceLineItem$Outbound` instead. */ type Outbound = InvoiceLineItem$Outbound; } export declare function invoiceLineItemToJSON(invoiceLineItem: InvoiceLineItem): string; export declare function invoiceLineItemFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const InvoiceLineItemInput$inboundSchema: z.ZodType; /** @internal */ export type InvoiceLineItemInput$Outbound = { id?: string | null | undefined; row_id?: string | undefined; code?: string | null | undefined; line_number?: number | null | undefined; description?: string | null | undefined; type?: string | null | undefined; tax_amount?: number | null | undefined; total_amount?: number | null | undefined; quantity?: number | null | undefined; unit_price?: number | null | undefined; unit_of_measure?: string | null | undefined; discount_percentage?: number | null | undefined; discount_amount?: number | null | undefined; location_id?: string | null | undefined; department_id?: string | null | undefined; item?: LinkedInvoiceItem$Outbound | undefined; tax_rate?: LinkedTaxRateInput$Outbound | undefined; tracking_categories?: Array | null | undefined; ledger_account?: LinkedLedgerAccountInput$Outbound | null | undefined; custom_fields?: Array | undefined; row_version?: string | null | undefined; }; /** @internal */ export declare const InvoiceLineItemInput$outboundSchema: z.ZodType; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export declare namespace InvoiceLineItemInput$ { /** @deprecated use `InvoiceLineItemInput$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `InvoiceLineItemInput$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `InvoiceLineItemInput$Outbound` instead. */ type Outbound = InvoiceLineItemInput$Outbound; } export declare function invoiceLineItemInputToJSON(invoiceLineItemInput: InvoiceLineItemInput): string; export declare function invoiceLineItemInputFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=invoicelineitem.d.ts.map