import * as z from "zod"; import { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { RFCDate } from "../../types/rfcdate.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { BankAccount, BankAccount$Outbound } from "./bankaccount.js"; import { Currency } from "./currency.js"; import { CustomMappings, CustomMappings$Outbound } from "./custommappings.js"; import { LinkedTaxRate, LinkedTaxRate$Outbound } from "./linkedtaxrate.js"; import { LinkedTaxRateInput, LinkedTaxRateInput$Outbound } from "./linkedtaxrateinput.js"; import { PassThroughBody, PassThroughBody$Outbound } from "./passthroughbody.js"; /** * The classification of account. */ export declare const Classification: { readonly Asset: "asset"; readonly Equity: "equity"; readonly Expense: "expense"; readonly Liability: "liability"; readonly Revenue: "revenue"; readonly Income: "income"; readonly OtherIncome: "other_income"; readonly OtherExpense: "other_expense"; readonly CostsOfSales: "costs_of_sales"; readonly Other: "other"; }; /** * The classification of account. */ export type Classification = ClosedEnum; /** * The type of account. */ export declare const LedgerAccountType: { readonly AccountsReceivable: "accounts_receivable"; readonly Revenue: "revenue"; readonly Sales: "sales"; readonly OtherIncome: "other_income"; readonly Bank: "bank"; readonly CurrentAsset: "current_asset"; readonly FixedAsset: "fixed_asset"; readonly NonCurrentAsset: "non_current_asset"; readonly OtherAsset: "other_asset"; readonly Balancesheet: "balancesheet"; readonly Equity: "equity"; readonly Expense: "expense"; readonly OtherExpense: "other_expense"; readonly CostsOfSales: "costs_of_sales"; readonly AccountsPayable: "accounts_payable"; readonly CreditCard: "credit_card"; readonly CurrentLiability: "current_liability"; readonly NonCurrentLiability: "non_current_liability"; readonly OtherLiability: "other_liability"; readonly Other: "other"; }; /** * The type of account. */ export type LedgerAccountType = ClosedEnum; /** * The status of the account. */ export declare const AccountStatus: { readonly Active: "active"; readonly Inactive: "inactive"; readonly Archived: "archived"; }; /** * The status of the account. */ export type AccountStatus = ClosedEnum; export type Categories = { id?: string | undefined; /** * The name of the category. */ name?: string | undefined; }; export type ParentAccount = { /** * The ID of the parent account. */ id?: string | undefined; /** * The name of the parent account. */ name?: string | undefined; /** * The human readable display ID used when displaying the parent account */ displayId?: string | undefined; }; export type SubAccounts = { /** * The ID of the sub account. */ id?: string | undefined; /** * The name of the sub account. */ accountSubName?: string | undefined; }; export type Subsidiaries = { /** * The ID of the subsidiary. */ id?: string | undefined; }; export type LedgerAccount = { /** * A unique identifier for an object. */ id?: string | undefined; /** * The human readable display ID used when displaying the account */ displayId?: string | undefined; /** * The nominal code of the ledger account. * * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. */ nominalCode?: string | null | undefined; /** * The code assigned to the account. */ code?: string | null | undefined; /** * The classification of account. */ classification?: Classification | null | undefined; /** * The type of account. */ type?: LedgerAccountType | undefined; /** * The sub type of account. */ subType?: string | null | undefined; /** * The name of the account. */ name?: string | null | undefined; /** * The fully qualified name of the account. */ fullyQualifiedName?: string | null | undefined; /** * The description of the account. */ description?: string | null | undefined; /** * The opening balance of the account. */ openingBalance?: number | null | undefined; /** * The current balance of the account. */ currentBalance?: number | 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; /** * The tax type of the account. */ taxType?: string | null | undefined; taxRate?: LinkedTaxRate | undefined; level?: number | null | undefined; /** * Whether the account is active or not. */ active?: boolean | null | undefined; /** * The status of the account. */ status?: AccountStatus | null | undefined; /** * Whether the account is a header or not. */ header?: boolean | null | undefined; bankAccount?: BankAccount | undefined; /** * The categories of the account. */ categories?: Array | undefined; parentAccount?: ParentAccount | undefined; /** * Whether the account is a sub account or not. */ subAccount?: boolean | null | undefined; /** * The sub accounts of the account. */ subAccounts?: Array | undefined; /** * Reconciliation Date means the last calendar day of each Reconciliation Period. */ lastReconciliationDate?: RFCDate | null | undefined; /** * The subsidiaries the account belongs to. */ subsidiaries?: Array | undefined; /** * When custom mappings are configured on the resource, the result is included here. */ customMappings?: CustomMappings | 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 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 | undefined; }; export type LedgerAccountInput = { /** * The human readable display ID used when displaying the account */ displayId?: string | undefined; /** * The nominal code of the ledger account. * * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible. */ nominalCode?: string | null | undefined; /** * The code assigned to the account. */ code?: string | null | undefined; /** * The classification of account. */ classification?: Classification | null | undefined; /** * The type of account. */ type?: LedgerAccountType | undefined; /** * The sub type of account. */ subType?: string | null | undefined; /** * The name of the account. */ name?: string | null | undefined; /** * The fully qualified name of the account. */ fullyQualifiedName?: string | null | undefined; /** * The description of the account. */ description?: string | null | undefined; /** * The opening balance of the account. */ openingBalance?: number | null | undefined; /** * The current balance of the account. */ currentBalance?: number | 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; /** * The tax type of the account. */ taxType?: string | null | undefined; taxRate?: LinkedTaxRateInput | undefined; level?: number | null | undefined; /** * Whether the account is active or not. */ active?: boolean | null | undefined; /** * The status of the account. */ status?: AccountStatus | null | undefined; /** * Whether the account is a header or not. */ header?: boolean | null | undefined; bankAccount?: BankAccount | undefined; parentAccount?: ParentAccount | undefined; /** * Whether the account is a sub account or not. */ subAccount?: boolean | null | undefined; /** * Reconciliation Date means the last calendar day of each Reconciliation Period. */ lastReconciliationDate?: RFCDate | null | undefined; /** * The subsidiaries the account belongs to. */ subsidiaries?: 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 pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources. */ passThrough?: Array | undefined; }; /** @internal */ export declare const Classification$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const Classification$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 Classification$ { /** @deprecated use `Classification$inboundSchema` instead. */ const inboundSchema: z.ZodNativeEnum<{ readonly Asset: "asset"; readonly Equity: "equity"; readonly Expense: "expense"; readonly Liability: "liability"; readonly Revenue: "revenue"; readonly Income: "income"; readonly OtherIncome: "other_income"; readonly OtherExpense: "other_expense"; readonly CostsOfSales: "costs_of_sales"; readonly Other: "other"; }>; /** @deprecated use `Classification$outboundSchema` instead. */ const outboundSchema: z.ZodNativeEnum<{ readonly Asset: "asset"; readonly Equity: "equity"; readonly Expense: "expense"; readonly Liability: "liability"; readonly Revenue: "revenue"; readonly Income: "income"; readonly OtherIncome: "other_income"; readonly OtherExpense: "other_expense"; readonly CostsOfSales: "costs_of_sales"; readonly Other: "other"; }>; } /** @internal */ export declare const LedgerAccountType$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const LedgerAccountType$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 LedgerAccountType$ { /** @deprecated use `LedgerAccountType$inboundSchema` instead. */ const inboundSchema: z.ZodNativeEnum<{ readonly AccountsReceivable: "accounts_receivable"; readonly Revenue: "revenue"; readonly Sales: "sales"; readonly OtherIncome: "other_income"; readonly Bank: "bank"; readonly CurrentAsset: "current_asset"; readonly FixedAsset: "fixed_asset"; readonly NonCurrentAsset: "non_current_asset"; readonly OtherAsset: "other_asset"; readonly Balancesheet: "balancesheet"; readonly Equity: "equity"; readonly Expense: "expense"; readonly OtherExpense: "other_expense"; readonly CostsOfSales: "costs_of_sales"; readonly AccountsPayable: "accounts_payable"; readonly CreditCard: "credit_card"; readonly CurrentLiability: "current_liability"; readonly NonCurrentLiability: "non_current_liability"; readonly OtherLiability: "other_liability"; readonly Other: "other"; }>; /** @deprecated use `LedgerAccountType$outboundSchema` instead. */ const outboundSchema: z.ZodNativeEnum<{ readonly AccountsReceivable: "accounts_receivable"; readonly Revenue: "revenue"; readonly Sales: "sales"; readonly OtherIncome: "other_income"; readonly Bank: "bank"; readonly CurrentAsset: "current_asset"; readonly FixedAsset: "fixed_asset"; readonly NonCurrentAsset: "non_current_asset"; readonly OtherAsset: "other_asset"; readonly Balancesheet: "balancesheet"; readonly Equity: "equity"; readonly Expense: "expense"; readonly OtherExpense: "other_expense"; readonly CostsOfSales: "costs_of_sales"; readonly AccountsPayable: "accounts_payable"; readonly CreditCard: "credit_card"; readonly CurrentLiability: "current_liability"; readonly NonCurrentLiability: "non_current_liability"; readonly OtherLiability: "other_liability"; readonly Other: "other"; }>; } /** @internal */ export declare const AccountStatus$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const AccountStatus$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 AccountStatus$ { /** @deprecated use `AccountStatus$inboundSchema` instead. */ const inboundSchema: z.ZodNativeEnum<{ readonly Active: "active"; readonly Inactive: "inactive"; readonly Archived: "archived"; }>; /** @deprecated use `AccountStatus$outboundSchema` instead. */ const outboundSchema: z.ZodNativeEnum<{ readonly Active: "active"; readonly Inactive: "inactive"; readonly Archived: "archived"; }>; } /** @internal */ export declare const Categories$inboundSchema: z.ZodType; /** @internal */ export type Categories$Outbound = { id?: string | undefined; name?: string | undefined; }; /** @internal */ export declare const Categories$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 Categories$ { /** @deprecated use `Categories$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `Categories$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `Categories$Outbound` instead. */ type Outbound = Categories$Outbound; } export declare function categoriesToJSON(categories: Categories): string; export declare function categoriesFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const ParentAccount$inboundSchema: z.ZodType; /** @internal */ export type ParentAccount$Outbound = { id?: string | undefined; name?: string | undefined; display_id?: string | undefined; }; /** @internal */ export declare const ParentAccount$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 ParentAccount$ { /** @deprecated use `ParentAccount$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `ParentAccount$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `ParentAccount$Outbound` instead. */ type Outbound = ParentAccount$Outbound; } export declare function parentAccountToJSON(parentAccount: ParentAccount): string; export declare function parentAccountFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const SubAccounts$inboundSchema: z.ZodType; /** @internal */ export type SubAccounts$Outbound = { id?: string | undefined; account_sub_name?: string | undefined; }; /** @internal */ export declare const SubAccounts$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 SubAccounts$ { /** @deprecated use `SubAccounts$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `SubAccounts$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `SubAccounts$Outbound` instead. */ type Outbound = SubAccounts$Outbound; } export declare function subAccountsToJSON(subAccounts: SubAccounts): string; export declare function subAccountsFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const Subsidiaries$inboundSchema: z.ZodType; /** @internal */ export type Subsidiaries$Outbound = { id?: string | undefined; }; /** @internal */ export declare const Subsidiaries$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 Subsidiaries$ { /** @deprecated use `Subsidiaries$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `Subsidiaries$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `Subsidiaries$Outbound` instead. */ type Outbound = Subsidiaries$Outbound; } export declare function subsidiariesToJSON(subsidiaries: Subsidiaries): string; export declare function subsidiariesFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const LedgerAccount$inboundSchema: z.ZodType; /** @internal */ export type LedgerAccount$Outbound = { id?: string | undefined; display_id?: string | undefined; nominal_code?: string | null | undefined; code?: string | null | undefined; classification?: string | null | undefined; type?: string | undefined; sub_type?: string | null | undefined; name?: string | null | undefined; fully_qualified_name?: string | null | undefined; description?: string | null | undefined; opening_balance?: number | null | undefined; current_balance?: number | null | undefined; currency?: string | null | undefined; tax_type?: string | null | undefined; tax_rate?: LinkedTaxRate$Outbound | undefined; level?: number | null | undefined; active?: boolean | null | undefined; status?: string | null | undefined; header?: boolean | null | undefined; bank_account?: BankAccount$Outbound | undefined; categories?: Array | undefined; parent_account?: ParentAccount$Outbound | undefined; sub_account?: boolean | null | undefined; sub_accounts?: Array | undefined; last_reconciliation_date?: string | null | undefined; subsidiaries?: Array | undefined; custom_mappings?: CustomMappings$Outbound | null | undefined; row_version?: string | null | undefined; updated_by?: string | null | undefined; created_by?: string | null | undefined; updated_at?: string | null | undefined; created_at?: string | null | undefined; pass_through?: Array | undefined; }; /** @internal */ export declare const LedgerAccount$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 LedgerAccount$ { /** @deprecated use `LedgerAccount$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `LedgerAccount$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `LedgerAccount$Outbound` instead. */ type Outbound = LedgerAccount$Outbound; } export declare function ledgerAccountToJSON(ledgerAccount: LedgerAccount): string; export declare function ledgerAccountFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const LedgerAccountInput$inboundSchema: z.ZodType; /** @internal */ export type LedgerAccountInput$Outbound = { display_id?: string | undefined; nominal_code?: string | null | undefined; code?: string | null | undefined; classification?: string | null | undefined; type?: string | undefined; sub_type?: string | null | undefined; name?: string | null | undefined; fully_qualified_name?: string | null | undefined; description?: string | null | undefined; opening_balance?: number | null | undefined; current_balance?: number | null | undefined; currency?: string | null | undefined; tax_type?: string | null | undefined; tax_rate?: LinkedTaxRateInput$Outbound | undefined; level?: number | null | undefined; active?: boolean | null | undefined; status?: string | null | undefined; header?: boolean | null | undefined; bank_account?: BankAccount$Outbound | undefined; parent_account?: ParentAccount$Outbound | undefined; sub_account?: boolean | null | undefined; last_reconciliation_date?: string | null | undefined; subsidiaries?: Array | undefined; row_version?: string | null | undefined; pass_through?: Array | undefined; }; /** @internal */ export declare const LedgerAccountInput$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 LedgerAccountInput$ { /** @deprecated use `LedgerAccountInput$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `LedgerAccountInput$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `LedgerAccountInput$Outbound` instead. */ type Outbound = LedgerAccountInput$Outbound; } export declare function ledgerAccountInputToJSON(ledgerAccountInput: LedgerAccountInput): string; export declare function ledgerAccountInputFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=ledgeraccount.d.ts.map