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 { 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"; /** * Bill Line Item type */ export declare const BillLineItemType: { readonly ExpenseItem: "expense_item"; readonly ExpenseAccount: "expense_account"; readonly Other: "other"; }; /** * Bill Line Item type */ export type BillLineItemType = ClosedEnum; export type BillLineItem = { /** * A unique identifier for an object. */ id?: string | undefined; /** * Row ID */ rowId?: string | undefined; /** * User defined item code */ code?: string | null | undefined; /** * Line number in the invoice */ lineNumber?: number | null | undefined; /** * User defined description */ description?: string | null | undefined; /** * Bill Line Item type */ type?: BillLineItemType | 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; ledgerAccount?: LinkedLedgerAccount | null | undefined; /** * A list of linked tracking categories. */ trackingCategories?: Array | null | 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 BillLineItemInput = { /** * Row ID */ rowId?: string | undefined; /** * User defined item code */ code?: string | null | undefined; /** * Line number in the invoice */ lineNumber?: number | null | undefined; /** * User defined description */ description?: string | null | undefined; /** * Bill Line Item type */ type?: BillLineItemType | 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; ledgerAccount?: LinkedLedgerAccountInput | null | undefined; /** * A list of linked tracking categories. */ trackingCategories?: Array | null | 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 BillLineItemType$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const BillLineItemType$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 BillLineItemType$ { /** @deprecated use `BillLineItemType$inboundSchema` instead. */ const inboundSchema: z.ZodNativeEnum<{ readonly ExpenseItem: "expense_item"; readonly ExpenseAccount: "expense_account"; readonly Other: "other"; }>; /** @deprecated use `BillLineItemType$outboundSchema` instead. */ const outboundSchema: z.ZodNativeEnum<{ readonly ExpenseItem: "expense_item"; readonly ExpenseAccount: "expense_account"; readonly Other: "other"; }>; } /** @internal */ export declare const BillLineItem$inboundSchema: z.ZodType; /** @internal */ export type BillLineItem$Outbound = { id?: string | 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; ledger_account?: LinkedLedgerAccount$Outbound | null | undefined; tracking_categories?: Array | null | 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 BillLineItem$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 BillLineItem$ { /** @deprecated use `BillLineItem$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `BillLineItem$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `BillLineItem$Outbound` instead. */ type Outbound = BillLineItem$Outbound; } export declare function billLineItemToJSON(billLineItem: BillLineItem): string; export declare function billLineItemFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const BillLineItemInput$inboundSchema: z.ZodType; /** @internal */ export type BillLineItemInput$Outbound = { 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; ledger_account?: LinkedLedgerAccountInput$Outbound | null | undefined; tracking_categories?: Array | null | undefined; row_version?: string | null | undefined; }; /** @internal */ export declare const BillLineItemInput$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 BillLineItemInput$ { /** @deprecated use `BillLineItemInput$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `BillLineItemInput$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `BillLineItemInput$Outbound` instead. */ type Outbound = BillLineItemInput$Outbound; } export declare function billLineItemInputToJSON(billLineItemInput: BillLineItemInput): string; export declare function billLineItemInputFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=billlineitem.d.ts.map