import * as z from "zod"; import { OpenEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * A method of determining the cost basis of an asset that has been sold or disposed of, by identifying which specific lot of the asset was sold and using the cost of that lot to calculate the cost basis; this method is commonly used for tax purposes to determine the amount of reportable capital gains or losses By default, this is set to `COST_BASIS_LOT_DISPOSAL_MIN_TAX_TERM` */ export declare enum AccountTaxProfileUpdateCostBasisLotDisposalMethod { CostBasisLotDisposalMethodUnspecified = "COST_BASIS_LOT_DISPOSAL_METHOD_UNSPECIFIED", CostBasisLotDisposalFifo = "COST_BASIS_LOT_DISPOSAL_FIFO", CostBasisLotDisposalLifo = "COST_BASIS_LOT_DISPOSAL_LIFO", CostBasisLotDisposalHighCost = "COST_BASIS_LOT_DISPOSAL_HIGH_COST", CostBasisLotDisposalHighCostLongTerm = "COST_BASIS_LOT_DISPOSAL_HIGH_COST_LONG_TERM", CostBasisLotDisposalHighCostShortTerm = "COST_BASIS_LOT_DISPOSAL_HIGH_COST_SHORT_TERM", CostBasisLotDisposalLowCost = "COST_BASIS_LOT_DISPOSAL_LOW_COST", CostBasisLotDisposalLowCostLongTerm = "COST_BASIS_LOT_DISPOSAL_LOW_COST_LONG_TERM", CostBasisLotDisposalLowCostShortTerm = "COST_BASIS_LOT_DISPOSAL_LOW_COST_SHORT_TERM", CostBasisLotDisposalMinTaxTerm = "COST_BASIS_LOT_DISPOSAL_MIN_TAX_TERM" } /** * A method of determining the cost basis of an asset that has been sold or disposed of, by identifying which specific lot of the asset was sold and using the cost of that lot to calculate the cost basis; this method is commonly used for tax purposes to determine the amount of reportable capital gains or losses By default, this is set to `COST_BASIS_LOT_DISPOSAL_MIN_TAX_TERM` */ export type AccountTaxProfileUpdateCostBasisLotDisposalMethodOpen = OpenEnum; /** * The account tax profile. */ export type AccountTaxProfileUpdate = { /** * A method of determining the cost basis of an asset that has been sold or disposed of, by identifying which specific lot of the asset was sold and using the cost of that lot to calculate the cost basis; this method is commonly used for tax purposes to determine the amount of reportable capital gains or losses By default, this is set to `COST_BASIS_LOT_DISPOSAL_MIN_TAX_TERM` */ costBasisLotDisposalMethod?: AccountTaxProfileUpdateCostBasisLotDisposalMethodOpen | undefined; /** * Indicates if the account is eligible to mark-to-market their securities and commodities holdings; Named after the related section of the IRS tax code. By default, this is set to `false`. */ section475Election?: boolean | undefined; }; /** @internal */ export declare const AccountTaxProfileUpdateCostBasisLotDisposalMethod$inboundSchema: z.ZodType; /** @internal */ export declare const AccountTaxProfileUpdateCostBasisLotDisposalMethod$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 AccountTaxProfileUpdateCostBasisLotDisposalMethod$ { /** @deprecated use `AccountTaxProfileUpdateCostBasisLotDisposalMethod$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `AccountTaxProfileUpdateCostBasisLotDisposalMethod$outboundSchema` instead. */ const outboundSchema: z.ZodType; } /** @internal */ export declare const AccountTaxProfileUpdate$inboundSchema: z.ZodType; /** @internal */ export type AccountTaxProfileUpdate$Outbound = { cost_basis_lot_disposal_method?: string | undefined; section_475_election?: boolean | undefined; }; /** @internal */ export declare const AccountTaxProfileUpdate$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 AccountTaxProfileUpdate$ { /** @deprecated use `AccountTaxProfileUpdate$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `AccountTaxProfileUpdate$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `AccountTaxProfileUpdate$Outbound` instead. */ type Outbound = AccountTaxProfileUpdate$Outbound; } export declare function accountTaxProfileUpdateToJSON(accountTaxProfileUpdate: AccountTaxProfileUpdate): string; export declare function accountTaxProfileUpdateFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=accounttaxprofileupdate.d.ts.map