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"; import { DateCreate, DateCreate$Outbound } from "./datecreate.js"; import { DecimalCreate, DecimalCreate$Outbound } from "./decimalcreate.js"; import { FeeCreate, FeeCreate$Outbound } from "./feecreate.js"; import { OptionOrderLegCreate, OptionOrderLegCreate$Outbound } from "./optionorderlegcreate.js"; /** * The capacity in which the broker is acting for this option order. */ export declare enum OptionOrderCreateBrokerCapacity { BrokerCapacityUnspecified = "BROKER_CAPACITY_UNSPECIFIED", Agency = "AGENCY", Principal = "PRINCIPAL" } /** * The capacity in which the broker is acting for this option order. */ export type OptionOrderCreateBrokerCapacityOpen = OpenEnum; /** * The execution type of this option order. */ export declare enum OptionOrderCreateOrderType { OrderTypeUnspecified = "ORDER_TYPE_UNSPECIFIED", Limit = "LIMIT" } /** * The execution type of this option order. */ export type OptionOrderCreateOrderTypeOpen = OpenEnum; /** * The direction of the price, which indicates whether the entire option order should result in a credit to the account placing the order, or a debit from the account placing the order. */ export declare enum PriceDirection { DebitCreditTypeUnspecified = "DEBIT_CREDIT_TYPE_UNSPECIFIED", Debit = "DEBIT", Credit = "CREDIT" } /** * The direction of the price, which indicates whether the entire option order should result in a credit to the account placing the order, or a debit from the account placing the order. */ export type PriceDirectionOpen = OpenEnum; export declare enum OptionOrderCreateSpecialReportingInstructions { SpecialReportingInstructionsUnspecified = "SPECIAL_REPORTING_INSTRUCTIONS_UNSPECIFIED", CustomerDirected = "CUSTOMER_DIRECTED", WithDividend = "WITH_DIVIDEND", WithRights = "WITH_RIGHTS", DiscretionExercised = "DISCRETION_EXERCISED", DiscretionNotExercised = "DISCRETION_NOT_EXERCISED", BrokerDealerOrder = "BROKER_DEALER_ORDER", FullyRegistered = "FULLY_REGISTERED", OddlotDiffOnRequest = "ODDLOT_DIFF_ON_REQUEST", ProspectusEnclosed = "PROSPECTUS_ENCLOSED", ProspectusSeparateMail = "PROSPECTUS_SEPARATE_MAIL", Solicited = "SOLICITED", Unsolicited = "UNSOLICITED", XDividend = "X_DIVIDEND", ActingAsPrincipal = "ACTING_AS_PRINCIPAL", AveragePrice = "AVERAGE_PRICE", BrokerLiquidation = "BROKER_LIQUIDATION", InternetOrder = "INTERNET_ORDER", MarginSellout = "MARGIN_SELLOUT", NegativeNetProceed = "NEGATIVE_NET_PROCEED", RisklessPrincipal = "RISKLESS_PRINCIPAL", ThirdMarket = "THIRD_MARKET", SuppressTraceReporting = "SUPPRESS_TRACE_REPORTING", WhenDistributed = "WHEN_DISTRIBUTED", RoundUp = "ROUND_UP", CatParentAlgo = "CAT_PARENT_ALGO", CatParentGtc = "CAT_PARENT_GTC" } export type OptionOrderCreateSpecialReportingInstructionsOpen = OpenEnum; /** * Must be the value "DAY". Regulatory requirements dictate the system captures the intended time_in_force, which is why this a mandatory field. */ export declare enum OptionOrderCreateTimeInForce { TimeInForceUnspecified = "TIME_IN_FORCE_UNSPECIFIED", Day = "DAY" } /** * Must be the value "DAY". Regulatory requirements dictate the system captures the intended time_in_force, which is why this a mandatory field. */ export type OptionOrderCreateTimeInForceOpen = OpenEnum; /** * The message describing an option order */ export type OptionOrderCreate = { /** * The capacity in which the broker is acting for this option order. */ brokerCapacity: OptionOrderCreateBrokerCapacityOpen; /** * User-supplied unique option order ID. Cannot be more than 40 characters long. */ clientOrderId: string; /** * Required for any client who is having Apex do CAT reporting on their behalf. */ clientReceivedTime?: Date | null | undefined; /** * Only "USD" is supported. Full list of currency codes is defined at: https://en.wikipedia.org/wiki/ISO_4217 */ currencyCode: string; /** * Fees that will be applied to this option order. */ fees?: Array | undefined; /** * The legs of this option order. Only a single leg is allowed to be specified, and it must be for an OPTION security. */ legs: Array; /** * A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's [BigDecimal][] or Python's [decimal.Decimal][]. * * @remarks * * [BigDecimal]: * https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html * [decimal.Decimal]: https://docs.python.org/3/library/decimal.html */ limitPrice: DecimalCreate; /** * Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * * @remarks * * * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date * * Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and `google.protobuf.Timestamp`. */ orderDate: DateCreate; /** * The execution type of this option order. */ orderType: OptionOrderCreateOrderTypeOpen; /** * The direction of the price, which indicates whether the entire option order should result in a credit to the account placing the order, or a debit from the account placing the order. */ priceDirection: PriceDirectionOpen; /** * A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's [BigDecimal][] or Python's [decimal.Decimal][]. * * @remarks * * [BigDecimal]: * https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html * [decimal.Decimal]: https://docs.python.org/3/library/decimal.html */ quantity: DecimalCreate; /** * Special Reporting Instructions to be applied to this option order. Can include multiple Instructions. */ specialReportingInstructions?: Array | undefined; /** * Must be the value "DAY". Regulatory requirements dictate the system captures the intended time_in_force, which is why this a mandatory field. */ timeInForce: OptionOrderCreateTimeInForceOpen; }; /** @internal */ export declare const OptionOrderCreateBrokerCapacity$inboundSchema: z.ZodType; /** @internal */ export declare const OptionOrderCreateBrokerCapacity$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 OptionOrderCreateBrokerCapacity$ { /** @deprecated use `OptionOrderCreateBrokerCapacity$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `OptionOrderCreateBrokerCapacity$outboundSchema` instead. */ const outboundSchema: z.ZodType; } /** @internal */ export declare const OptionOrderCreateOrderType$inboundSchema: z.ZodType; /** @internal */ export declare const OptionOrderCreateOrderType$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 OptionOrderCreateOrderType$ { /** @deprecated use `OptionOrderCreateOrderType$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `OptionOrderCreateOrderType$outboundSchema` instead. */ const outboundSchema: z.ZodType; } /** @internal */ export declare const PriceDirection$inboundSchema: z.ZodType; /** @internal */ export declare const PriceDirection$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 PriceDirection$ { /** @deprecated use `PriceDirection$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `PriceDirection$outboundSchema` instead. */ const outboundSchema: z.ZodType; } /** @internal */ export declare const OptionOrderCreateSpecialReportingInstructions$inboundSchema: z.ZodType; /** @internal */ export declare const OptionOrderCreateSpecialReportingInstructions$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 OptionOrderCreateSpecialReportingInstructions$ { /** @deprecated use `OptionOrderCreateSpecialReportingInstructions$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `OptionOrderCreateSpecialReportingInstructions$outboundSchema` instead. */ const outboundSchema: z.ZodType; } /** @internal */ export declare const OptionOrderCreateTimeInForce$inboundSchema: z.ZodType; /** @internal */ export declare const OptionOrderCreateTimeInForce$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 OptionOrderCreateTimeInForce$ { /** @deprecated use `OptionOrderCreateTimeInForce$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `OptionOrderCreateTimeInForce$outboundSchema` instead. */ const outboundSchema: z.ZodType; } /** @internal */ export declare const OptionOrderCreate$inboundSchema: z.ZodType; /** @internal */ export type OptionOrderCreate$Outbound = { broker_capacity: string; client_order_id: string; client_received_time?: string | null | undefined; currency_code: string; fees?: Array | undefined; legs: Array; limit_price: DecimalCreate$Outbound; order_date: DateCreate$Outbound; order_type: string; price_direction: string; quantity: DecimalCreate$Outbound; special_reporting_instructions?: Array | undefined; time_in_force: string; }; /** @internal */ export declare const OptionOrderCreate$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 OptionOrderCreate$ { /** @deprecated use `OptionOrderCreate$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `OptionOrderCreate$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `OptionOrderCreate$Outbound` instead. */ type Outbound = OptionOrderCreate$Outbound; } export declare function optionOrderCreateToJSON(optionOrderCreate: OptionOrderCreate): string; export declare function optionOrderCreateFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=optionordercreate.d.ts.map