UNPKG

@tinkoff/invest-js

Version:
732 lines (731 loc) 43.1 kB
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { type CallContext, type CallOptions } from "nice-grpc-common"; import { ErrorDetail, MoneyValue, Ping, PriceType, Quotation, ResponseMetadata, ResultSubscriptionStatus } from "./common"; /** Направление операции. */ export declare enum OrderDirection { /** ORDER_DIRECTION_UNSPECIFIED - Значение не указано */ ORDER_DIRECTION_UNSPECIFIED = 0, /** ORDER_DIRECTION_BUY - Покупка */ ORDER_DIRECTION_BUY = 1, /** ORDER_DIRECTION_SELL - Продажа */ ORDER_DIRECTION_SELL = 2, UNRECOGNIZED = -1 } export declare function orderDirectionFromJSON(object: any): OrderDirection; export declare function orderDirectionToJSON(object: OrderDirection): string; /** Тип заявки. */ export declare enum OrderType { /** ORDER_TYPE_UNSPECIFIED - Значение не указано */ ORDER_TYPE_UNSPECIFIED = 0, /** ORDER_TYPE_LIMIT - Лимитная */ ORDER_TYPE_LIMIT = 1, /** ORDER_TYPE_MARKET - Рыночная */ ORDER_TYPE_MARKET = 2, /** ORDER_TYPE_BESTPRICE - Лучшая цена */ ORDER_TYPE_BESTPRICE = 3, UNRECOGNIZED = -1 } export declare function orderTypeFromJSON(object: any): OrderType; export declare function orderTypeToJSON(object: OrderType): string; /** Текущий статус заявки (поручения) */ export declare enum OrderExecutionReportStatus { EXECUTION_REPORT_STATUS_UNSPECIFIED = 0, /** EXECUTION_REPORT_STATUS_FILL - Исполнена */ EXECUTION_REPORT_STATUS_FILL = 1, /** EXECUTION_REPORT_STATUS_REJECTED - Отклонена */ EXECUTION_REPORT_STATUS_REJECTED = 2, /** EXECUTION_REPORT_STATUS_CANCELLED - Отменена пользователем */ EXECUTION_REPORT_STATUS_CANCELLED = 3, /** EXECUTION_REPORT_STATUS_NEW - Новая */ EXECUTION_REPORT_STATUS_NEW = 4, /** EXECUTION_REPORT_STATUS_PARTIALLYFILL - Частично исполнена */ EXECUTION_REPORT_STATUS_PARTIALLYFILL = 5, UNRECOGNIZED = -1 } export declare function orderExecutionReportStatusFromJSON(object: any): OrderExecutionReportStatus; export declare function orderExecutionReportStatusToJSON(object: OrderExecutionReportStatus): string; /** Алгоритм исполнения заявки */ export declare enum TimeInForceType { /** TIME_IN_FORCE_UNSPECIFIED - Значение не определено см. TIME_IN_FORCE_DAY */ TIME_IN_FORCE_UNSPECIFIED = 0, /** TIME_IN_FORCE_DAY - Заявка действует до конца торгового дня. Значение по умолчанию */ TIME_IN_FORCE_DAY = 1, /** TIME_IN_FORCE_FILL_AND_KILL - Если в момент выставления возможно исполнение заявки(в т.ч. частичное), заявка будет исполнена или отменена сразу после выставления */ TIME_IN_FORCE_FILL_AND_KILL = 2, /** TIME_IN_FORCE_FILL_OR_KILL - Если в момент выставления возможно полное исполнение заявки, заявка будет исполнена или отменена сразу после выставления, недоступно для срочного рынка и торговли по выходным */ TIME_IN_FORCE_FILL_OR_KILL = 3, UNRECOGNIZED = -1 } export declare function timeInForceTypeFromJSON(object: any): TimeInForceType; export declare function timeInForceTypeToJSON(object: TimeInForceType): string; /** Тип идентификатора заявки */ export declare enum OrderIdType { /** ORDER_ID_TYPE_UNSPECIFIED - Тип идентификатора не указан. */ ORDER_ID_TYPE_UNSPECIFIED = 0, /** ORDER_ID_TYPE_EXCHANGE - Биржевой идентификатор */ ORDER_ID_TYPE_EXCHANGE = 1, /** ORDER_ID_TYPE_REQUEST - Ключ идемпотентности, переданный клиентом */ ORDER_ID_TYPE_REQUEST = 2, UNRECOGNIZED = -1 } export declare function orderIdTypeFromJSON(object: any): OrderIdType; export declare function orderIdTypeToJSON(object: OrderIdType): string; /** Запрос установки соединения. */ export interface TradesStreamRequest { /** Идентификаторы счетов. */ accounts: string[]; /** Задержка пинг сообщений milliseconds 5000-180000, default 120000 */ pingDelayMs?: number | undefined; } /** Информация о торговых поручениях. */ export interface TradesStreamResponse { /** Информация об исполнении торгового поручения. */ orderTrades?: OrderTrades | undefined; /** Проверка активности стрима. */ ping?: Ping | undefined; /** Ответ на запрос на подписку. */ subscription?: SubscriptionResponse | undefined; } /** Информация об исполнении торгового поручения. */ export interface OrderTrades { /** Идентификатор торгового поручения. */ orderId: string; /** Дата и время создания сообщения в часовом поясе UTC. */ createdAt: Date | undefined; /** Направление сделки. */ direction: OrderDirection; /** Figi-идентификатор инструмента. */ figi: string; /** Массив сделок. */ trades: OrderTrade[]; /** Идентификатор счёта. */ accountId: string; /** UID идентификатор инструмента. */ instrumentUid: string; } /** Информация о сделке. */ export interface OrderTrade { /** Дата и время совершения сделки в часовом поясе UTC. */ dateTime: Date | undefined; /** Цена за 1 инструмент, по которой совершена сделка. */ price: Quotation | undefined; /** Количество штук в сделке. */ quantity: number; /** Идентификатор сделки. */ tradeId: string; } /** Запрос выставления торгового поручения. */ export interface PostOrderRequest { /** * Deprecated Figi-идентификатор инструмента. Необходимо использовать instrument_id. * * @deprecated */ figi?: string | undefined; /** Количество лотов. */ quantity: number; /** Цена за 1 инструмент. Для получения стоимости лота требуется умножить на лотность инструмента. Игнорируется для рыночных поручений. */ price?: Quotation | undefined; /** Направление операции. */ direction: OrderDirection; /** Номер счёта. */ accountId: string; /** Тип заявки. */ orderType: OrderType; /** Идентификатор запроса выставления поручения для целей идемпотентности в формате UID. Максимальная длина 36 символов. */ orderId: string; /** Идентификатор инструмента, принимает значения Figi или Instrument_uid. */ instrumentId: string; /** Алгоритм исполнения поручения, применяется только к лимитной заявке. */ timeInForce: TimeInForceType; /** Тип цены. */ priceType: PriceType; } /** Информация о выставлении поручения. */ export interface PostOrderResponse { /** Биржевой идентификатор заявки. */ orderId: string; /** Текущий статус заявки. */ executionReportStatus: OrderExecutionReportStatus; /** Запрошено лотов. */ lotsRequested: number; /** Исполнено лотов. */ lotsExecuted: number; /** Начальная цена заявки. Произведение количества запрошенных лотов на цену. */ initialOrderPrice: MoneyValue | undefined; /** Исполненная средняя цена одного инструмента в заявке. */ executedOrderPrice: MoneyValue | undefined; /** Итоговая стоимость заявки, включающая все комиссии. */ totalOrderAmount: MoneyValue | undefined; /** Начальная комиссия. Комиссия рассчитанная при выставлении заявки. */ initialCommission: MoneyValue | undefined; /** Фактическая комиссия по итогам исполнения заявки. */ executedCommission: MoneyValue | undefined; /** Значение НКД (накопленного купонного дохода) на дату. Подробнее: [НКД при выставлении торговых поручений](https://russianinvestments.github.io/investAPI/head-orders#coupon) */ aciValue: MoneyValue | undefined; /** Figi-идентификатор инструмента. */ figi: string; /** Направление сделки. */ direction: OrderDirection; /** Начальная цена за 1 инструмент. Для получения стоимости лота требуется умножить на лотность инструмента. */ initialSecurityPrice: MoneyValue | undefined; /** Тип заявки. */ orderType: OrderType; /** Дополнительные данные об исполнении заявки. */ message: string; /** Начальная цена заявки в пунктах (для фьючерсов). */ initialOrderPricePt: Quotation | undefined; /** UID идентификатор инструмента. */ instrumentUid: string; /** Идентификатор ключа идемпотентности, переданный клиентом, в формате UID. Максимальная длина 36 символов. */ orderRequestId: string; /** Метадата */ responseMetadata: ResponseMetadata | undefined; } /** Запрос выставления асинхронного торгового поручения. */ export interface PostOrderAsyncRequest { /** Идентификатор инструмента, принимает значения Figi или Instrument_uid. */ instrumentId: string; /** Количество лотов. */ quantity: number; /** Цена за 1 инструмент. Для получения стоимости лота требуется умножить на лотность инструмента. Игнорируется для рыночных поручений. */ price?: Quotation | undefined; /** Направление операции. */ direction: OrderDirection; /** Номер счёта. */ accountId: string; /** Тип заявки. */ orderType: OrderType; /** Идентификатор запроса выставления поручения для целей идемпотентности в формате UID. Максимальная длина 36 символов. */ orderId: string; /** Алгоритм исполнения поручения, применяется только к лимитной заявке. */ timeInForce?: TimeInForceType | undefined; /** Тип цены. */ priceType?: PriceType | undefined; } /** Результат выставления асинхронного торгового поручения. */ export interface PostOrderAsyncResponse { /** Идентификатор ключа идемпотентности, переданный клиентом, в формате UID. Максимальная длина 36 символов. */ orderRequestId: string; /** Текущий статус заявки. */ executionReportStatus: OrderExecutionReportStatus; /** Идентификатор торгового поручения. */ tradeIntentId?: string | undefined; } /** Запрос отмены торгового поручения. */ export interface CancelOrderRequest { /** Номер счёта. */ accountId: string; /** Идентификатор заявки. */ orderId: string; /** Тип идентификатора заявки. */ orderIdType?: OrderIdType | undefined; } /** Результат отмены торгового поручения. */ export interface CancelOrderResponse { /** Дата и время отмены заявки в часовом поясе UTC. */ time: Date | undefined; /** Метадата */ responseMetadata: ResponseMetadata | undefined; } /** Запрос получения статуса торгового поручения. */ export interface GetOrderStateRequest { /** Номер счёта. */ accountId: string; /** Идентификатор заявки. */ orderId: string; /** Тип цены. */ priceType: PriceType; /** Тип идентификатора заявки. */ orderIdType?: OrderIdType | undefined; } /** Запрос получения списка активных торговых поручений. */ export interface GetOrdersRequest { /** Номер счёта. */ accountId: string; } /** Список активных торговых поручений. */ export interface GetOrdersResponse { /** Массив активных заявок. */ orders: OrderState[]; } /** Информация о торговом поручении. */ export interface OrderState { /** Биржевой идентификатор заявки. */ orderId: string; /** Текущий статус заявки. */ executionReportStatus: OrderExecutionReportStatus; /** Запрошено лотов. */ lotsRequested: number; /** Исполнено лотов. */ lotsExecuted: number; /** Начальная цена заявки. Произведение количества запрошенных лотов на цену. */ initialOrderPrice: MoneyValue | undefined; /** Исполненная цена заявки. Произведение средней цены покупки на количество лотов. */ executedOrderPrice: MoneyValue | undefined; /** Итоговая стоимость заявки, включающая все комиссии. */ totalOrderAmount: MoneyValue | undefined; /** Средняя цена позиции по сделке. */ averagePositionPrice: MoneyValue | undefined; /** Начальная комиссия. Комиссия, рассчитанная на момент подачи заявки. */ initialCommission: MoneyValue | undefined; /** Фактическая комиссия по итогам исполнения заявки. */ executedCommission: MoneyValue | undefined; /** Figi-идентификатор инструмента. */ figi: string; /** Направление заявки. */ direction: OrderDirection; /** Начальная цена за 1 инструмент. Для получения стоимости лота требуется умножить на лотность инструмента. */ initialSecurityPrice: MoneyValue | undefined; /** Стадии выполнения заявки. */ stages: OrderStage[]; /** Сервисная комиссия. */ serviceCommission: MoneyValue | undefined; /** Валюта заявки. */ currency: string; /** Тип заявки. */ orderType: OrderType; /** Дата и время выставления заявки в часовом поясе UTC. */ orderDate: Date | undefined; /** UID идентификатор инструмента. */ instrumentUid: string; /** Идентификатор ключа идемпотентности, переданный клиентом, в формате UID. Максимальная длина 36 символов. */ orderRequestId: string; } /** Сделки в рамках торгового поручения. */ export interface OrderStage { /** Цена за 1 инструмент. Для получения стоимости лота требуется умножить на лотность инструмента. */ price: MoneyValue | undefined; /** Количество лотов. */ quantity: number; /** Идентификатор сделки. */ tradeId: string; /** Время исполнения сделки */ executionTime: Date | undefined; } /** Запрос изменения выставленной заявки. */ export interface ReplaceOrderRequest { /** Номер счета. */ accountId: string; /** Идентификатор заявки на бирже. */ orderId: string; /** Новый идентификатор запроса выставления поручения для целей идемпотентности. Максимальная длина 36 символов. Перезатирает старый ключ. */ idempotencyKey: string; /** Количество лотов. */ quantity: number; /** Цена за 1 инструмент. */ price?: Quotation | undefined; /** Тип цены. */ priceType?: PriceType | undefined; } /** Запрос на расчет количества доступных для покупки/продажи лотов. Если не указывать цену инструмента, то расчет произведется по текущум ценам в стакане: по лучшему предложению для покупки и по лучшему спросу для продажи. */ export interface GetMaxLotsRequest { /** Номер счета */ accountId: string; /** Идентификатор инструмента, принимает значения Figi или instrument_uid */ instrumentId: string; /** Цена инструмента */ price?: Quotation | undefined; } /** Результат количество доступных для покупки/продажи лотов */ export interface GetMaxLotsResponse { /** Валюта инструмента */ currency: string; /** Лимиты для покупок на собственные деньги */ buyLimits: GetMaxLotsResponse_BuyLimitsView | undefined; /** Лимиты для покупок с учетом маржинального кредитования */ buyMarginLimits: GetMaxLotsResponse_BuyLimitsView | undefined; /** Лимиты для продаж по собственной позиции */ sellLimits: GetMaxLotsResponse_SellLimitsView | undefined; /** Лимиты для продаж с учетом маржинального кредитования */ sellMarginLimits: GetMaxLotsResponse_SellLimitsView | undefined; } export interface GetMaxLotsResponse_BuyLimitsView { /** Количество доступной валюты для покупки */ buyMoneyAmount: Quotation | undefined; /** Максимальное доступное количество лотов для покупки */ buyMaxLots: number; /** Максимальное доступное количество лотов для покупки для заявки по рыночной цене на текущий момент */ buyMaxMarketLots: number; } export interface GetMaxLotsResponse_SellLimitsView { /** Максимальное доступное количество лотов для продажи */ sellMaxLots: number; } /** Запрос получения предварительной стоимости заявки */ export interface GetOrderPriceRequest { /** Номер счета */ accountId: string; /** Идентификатор инструмента, принимает значения Figi или instrument_uid */ instrumentId: string; /** Цена инструмента */ price: Quotation | undefined; /** Направление заявки */ direction: OrderDirection; /** Количество лотов */ quantity: number; } /** Предварительная стоимость заявки */ export interface GetOrderPriceResponse { /** Итоговая стоимость заявки */ totalOrderAmount: MoneyValue | undefined; /** Стоимость заявки без комиссий, НКД, ГО (для фьючерсов — стоимость контрактов) */ initialOrderAmount: MoneyValue | undefined; /** Запрошено лотов */ lotsRequested: number; /** Общая комиссия */ executedCommission: MoneyValue | undefined; /** Общая комиссия в рублях */ executedCommissionRub: MoneyValue | undefined; /** Сервисная комиссия */ serviceCommission: MoneyValue | undefined; /** Комиссия за проведение сделки */ dealCommission: MoneyValue | undefined; /** Дополнительная информация по облигациям */ extraBond?: GetOrderPriceResponse_ExtraBond | undefined; /** Дополнительная информация по фьючерсам */ extraFuture?: GetOrderPriceResponse_ExtraFuture | undefined; } export interface GetOrderPriceResponse_ExtraBond { /** Значение НКД (накопленного купонного дохода) на дату */ aciValue: MoneyValue | undefined; /** Курс конвертации для замещающих облигаций */ nominalConversionRate: Quotation | undefined; } export interface GetOrderPriceResponse_ExtraFuture { /** Гарантийное обеспечение для фьючерса */ initialMargin: MoneyValue | undefined; } /** Запрос установки стрим-соединения торговых поручений */ export interface OrderStateStreamRequest { /** Идентификаторы счетов. */ accounts: string[]; /** Задержка пинг сообщений milliseconds 5000-180000, default 120000 */ pingDelayMs?: number | undefined; } /** Информация по подпискам */ export interface SubscriptionResponse { /** Уникальный идентификатор запроса, подробнее: [tracking_id](https://russianinvestments.github.io/investAPI/grpc#tracking-id). */ trackingId: string; /** Статус подписки. */ status: ResultSubscriptionStatus; /** Идентификатор открытого соединения */ streamId: string; /** Идентификаторы счетов. */ accounts: string[]; error?: ErrorDetail | undefined; } /** Информация по заявкам */ export interface OrderStateStreamResponse { /** Информация об исполнении торгового поручения. */ orderState?: OrderStateStreamResponse_OrderState | undefined; /** Проверка активности стрима. */ ping?: Ping | undefined; /** Ответ на запрос на подписку. */ subscription?: SubscriptionResponse | undefined; } /** Маркер */ export declare enum OrderStateStreamResponse_MarkerType { /** MARKER_UNKNOWN - не определено */ MARKER_UNKNOWN = 0, /** MARKER_BROKER - сделки брокера */ MARKER_BROKER = 1, /** MARKER_CHAT - исполнение поручение, полученного от клиента через каналы связи */ MARKER_CHAT = 2, /** MARKER_PAPER - исполнение поручение, полученного от клиента в бумажной форме */ MARKER_PAPER = 3, /** MARKER_MARGIN - принудительное закрытие позиций */ MARKER_MARGIN = 4, /** MARKER_TKBNM - сделки по управлению ликвидностью */ MARKER_TKBNM = 5, /** MARKER_SHORT - сделки РЕПО по привлечению у клиентов бумаг */ MARKER_SHORT = 6, /** MARKER_SPECMM - перенос временно непокрытых позиций */ MARKER_SPECMM = 7, MARKER_PO = 8, UNRECOGNIZED = -1 } export declare function orderStateStreamResponse_MarkerTypeFromJSON(object: any): OrderStateStreamResponse_MarkerType; export declare function orderStateStreamResponse_MarkerTypeToJSON(object: OrderStateStreamResponse_MarkerType): string; /** Дополнительная информация по статусу заявки */ export declare enum OrderStateStreamResponse_StatusCauseInfo { /** CAUSE_UNSPECIFIED - Не определено */ CAUSE_UNSPECIFIED = 0, /** CAUSE_CANCELLED_BY_CLIENT - Отменено клиентом */ CAUSE_CANCELLED_BY_CLIENT = 15, /** CAUSE_CANCELLED_BY_EXCHANGE - Отменено биржей */ CAUSE_CANCELLED_BY_EXCHANGE = 1, /** CAUSE_CANCELLED_NOT_ENOUGH_POSITION - Заявка не выставлена из-за нехватки средств */ CAUSE_CANCELLED_NOT_ENOUGH_POSITION = 2, /** CAUSE_CANCELLED_BY_CLIENT_BLOCK - Отменено из-за блокировки клиента */ CAUSE_CANCELLED_BY_CLIENT_BLOCK = 3, /** CAUSE_REJECTED_BY_BROKER - Отклонено брокером */ CAUSE_REJECTED_BY_BROKER = 4, /** CAUSE_REJECTED_BY_EXCHANGE - Отклонено биржей */ CAUSE_REJECTED_BY_EXCHANGE = 5, /** CAUSE_CANCELLED_BY_BROKER - Отменено брокером */ CAUSE_CANCELLED_BY_BROKER = 6, UNRECOGNIZED = -1 } export declare function orderStateStreamResponse_StatusCauseInfoFromJSON(object: any): OrderStateStreamResponse_StatusCauseInfo; export declare function orderStateStreamResponse_StatusCauseInfoToJSON(object: OrderStateStreamResponse_StatusCauseInfo): string; /** Заявка */ export interface OrderStateStreamResponse_OrderState { /** Биржевой идентификатор заявки */ orderId: string; /** Идентификатор ключа идемпотентности, переданный клиентом, в формате UID. Максимальная длина 36 символов. */ orderRequestId?: string | undefined; /** Код клиента на бирже */ clientCode: string; /** Дата создания заявки */ createdAt: Date | undefined; /** Статус заявки */ executionReportStatus: OrderExecutionReportStatus; /** Дополнительная информация по статусу */ statusInfo?: OrderStateStreamResponse_StatusCauseInfo | undefined; /** Тикер инструмента */ ticker: string; /** Класс-код (секция торгов) */ classCode: string; /** Лотность инструмента заявки */ lotSize: number; /** Направление заявки */ direction: OrderDirection; /** Алгоритм исполнения поручения */ timeInForce: TimeInForceType; /** Тип заявки */ orderType: OrderType; /** Номер счета */ accountId: string; /** Начальная цена заявки */ initialOrderPrice: MoneyValue | undefined; /** Цена выставления заявки */ orderPrice: MoneyValue | undefined; /** Предрассчитанная стоимость полной заявки */ amount?: MoneyValue | undefined; /** Исполненная средняя цена одного инструмента в заявке */ executedOrderPrice: MoneyValue | undefined; /** Валюта исполнения */ currency: string; /** Запрошено лотов */ lotsRequested: number; /** Исполнено лотов */ lotsExecuted: number; /** Число неисполненных лотов по заявке */ lotsLeft: number; /** Отмененные лоты */ lotsCancelled: number; /** Спецсимвол */ marker?: OrderStateStreamResponse_MarkerType | undefined; /** Список сделок */ trades: OrderTrade[]; /** Время исполнения заявки */ completionTime: Date | undefined; /** Код биржи */ exchange: string; /** UID идентификатор инструмента */ instrumentUid: string; } export declare const TradesStreamRequest: OrdersUtils.MessageFns<TradesStreamRequest>; export declare const TradesStreamResponse: OrdersUtils.MessageFns<TradesStreamResponse>; export declare const OrderTrades: OrdersUtils.MessageFns<OrderTrades>; export declare const OrderTrade: OrdersUtils.MessageFns<OrderTrade>; export declare const PostOrderRequest: OrdersUtils.MessageFns<PostOrderRequest>; export declare const PostOrderResponse: OrdersUtils.MessageFns<PostOrderResponse>; export declare const PostOrderAsyncRequest: OrdersUtils.MessageFns<PostOrderAsyncRequest>; export declare const PostOrderAsyncResponse: OrdersUtils.MessageFns<PostOrderAsyncResponse>; export declare const CancelOrderRequest: OrdersUtils.MessageFns<CancelOrderRequest>; export declare const CancelOrderResponse: OrdersUtils.MessageFns<CancelOrderResponse>; export declare const GetOrderStateRequest: OrdersUtils.MessageFns<GetOrderStateRequest>; export declare const GetOrdersRequest: OrdersUtils.MessageFns<GetOrdersRequest>; export declare const GetOrdersResponse: OrdersUtils.MessageFns<GetOrdersResponse>; export declare const OrderState: OrdersUtils.MessageFns<OrderState>; export declare const OrderStage: OrdersUtils.MessageFns<OrderStage>; export declare const ReplaceOrderRequest: OrdersUtils.MessageFns<ReplaceOrderRequest>; export declare const GetMaxLotsRequest: OrdersUtils.MessageFns<GetMaxLotsRequest>; export declare const GetMaxLotsResponse: OrdersUtils.MessageFns<GetMaxLotsResponse>; export declare const GetMaxLotsResponse_BuyLimitsView: OrdersUtils.MessageFns<GetMaxLotsResponse_BuyLimitsView>; export declare const GetMaxLotsResponse_SellLimitsView: OrdersUtils.MessageFns<GetMaxLotsResponse_SellLimitsView>; export declare const GetOrderPriceRequest: OrdersUtils.MessageFns<GetOrderPriceRequest>; export declare const GetOrderPriceResponse: OrdersUtils.MessageFns<GetOrderPriceResponse>; export declare const GetOrderPriceResponse_ExtraBond: OrdersUtils.MessageFns<GetOrderPriceResponse_ExtraBond>; export declare const GetOrderPriceResponse_ExtraFuture: OrdersUtils.MessageFns<GetOrderPriceResponse_ExtraFuture>; export declare const OrderStateStreamRequest: OrdersUtils.MessageFns<OrderStateStreamRequest>; export declare const SubscriptionResponse: OrdersUtils.MessageFns<SubscriptionResponse>; export declare const OrderStateStreamResponse: OrdersUtils.MessageFns<OrderStateStreamResponse>; export declare const OrderStateStreamResponse_OrderState: OrdersUtils.MessageFns<OrderStateStreamResponse_OrderState>; export type OrdersStreamServiceDefinition = typeof OrdersStreamServiceDefinition; export declare const OrdersStreamServiceDefinition: { readonly name: "OrdersStreamService"; readonly fullName: "tinkoff.public.invest.api.contract.v1.OrdersStreamService"; readonly methods: { /** Stream сделок пользователя */ readonly tradesStream: { readonly name: "TradesStream"; readonly requestType: OrdersUtils.MessageFns<TradesStreamRequest>; readonly requestStream: false; readonly responseType: OrdersUtils.MessageFns<TradesStreamResponse>; readonly responseStream: true; readonly options: {}; }; /** Stream поручений пользователя. Перед работой прочитайте [статью](https://russianinvestments.github.io/investAPI/orders_state_stream/). */ readonly orderStateStream: { readonly name: "OrderStateStream"; readonly requestType: OrdersUtils.MessageFns<OrderStateStreamRequest>; readonly requestStream: false; readonly responseType: OrdersUtils.MessageFns<OrderStateStreamResponse>; readonly responseStream: true; readonly options: {}; }; }; }; export interface OrdersStreamServiceImplementation<CallContextExt = {}> { /** Stream сделок пользователя */ tradesStream(request: TradesStreamRequest, context: CallContext & CallContextExt): ServerStreamingMethodResult<DeepPartial<TradesStreamResponse>>; /** Stream поручений пользователя. Перед работой прочитайте [статью](https://russianinvestments.github.io/investAPI/orders_state_stream/). */ orderStateStream(request: OrderStateStreamRequest, context: CallContext & CallContextExt): ServerStreamingMethodResult<DeepPartial<OrderStateStreamResponse>>; } export interface OrdersStreamServiceClient<CallOptionsExt = {}> { /** Stream сделок пользователя */ tradesStream(request: DeepPartial<TradesStreamRequest>, options?: CallOptions & CallOptionsExt): AsyncIterable<TradesStreamResponse>; /** Stream поручений пользователя. Перед работой прочитайте [статью](https://russianinvestments.github.io/investAPI/orders_state_stream/). */ orderStateStream(request: DeepPartial<OrderStateStreamRequest>, options?: CallOptions & CallOptionsExt): AsyncIterable<OrderStateStreamResponse>; } /** * Сервис предназначен для работы с торговыми поручениями:</br> **1**. * выставление;</br> **2**. отмена;</br> **3**. получение статуса;</br> **4**. * расчёт полной стоимости;</br> **5**. получение списка заявок. */ export type OrdersServiceDefinition = typeof OrdersServiceDefinition; export declare const OrdersServiceDefinition: { readonly name: "OrdersService"; readonly fullName: "tinkoff.public.invest.api.contract.v1.OrdersService"; readonly methods: { /** Метод выставления заявки. */ readonly postOrder: { readonly name: "PostOrder"; readonly requestType: OrdersUtils.MessageFns<PostOrderRequest>; readonly requestStream: false; readonly responseType: OrdersUtils.MessageFns<PostOrderResponse>; readonly responseStream: false; readonly options: {}; }; /** Асинхронный метод выставления заявки. */ readonly postOrderAsync: { readonly name: "PostOrderAsync"; readonly requestType: OrdersUtils.MessageFns<PostOrderAsyncRequest>; readonly requestStream: false; readonly responseType: OrdersUtils.MessageFns<PostOrderAsyncResponse>; readonly responseStream: false; readonly options: {}; }; /** Метод отмены биржевой заявки. */ readonly cancelOrder: { readonly name: "CancelOrder"; readonly requestType: OrdersUtils.MessageFns<CancelOrderRequest>; readonly requestStream: false; readonly responseType: OrdersUtils.MessageFns<CancelOrderResponse>; readonly responseStream: false; readonly options: {}; }; /** Метод получения статуса торгового поручения. */ readonly getOrderState: { readonly name: "GetOrderState"; readonly requestType: OrdersUtils.MessageFns<GetOrderStateRequest>; readonly requestStream: false; readonly responseType: OrdersUtils.MessageFns<OrderState>; readonly responseStream: false; readonly options: {}; }; /** Метод получения списка активных заявок по счёту. */ readonly getOrders: { readonly name: "GetOrders"; readonly requestType: OrdersUtils.MessageFns<GetOrdersRequest>; readonly requestStream: false; readonly responseType: OrdersUtils.MessageFns<GetOrdersResponse>; readonly responseStream: false; readonly options: {}; }; /** Метод изменения выставленной заявки. */ readonly replaceOrder: { readonly name: "ReplaceOrder"; readonly requestType: OrdersUtils.MessageFns<ReplaceOrderRequest>; readonly requestStream: false; readonly responseType: OrdersUtils.MessageFns<PostOrderResponse>; readonly responseStream: false; readonly options: {}; }; /** расчет количества доступных для покупки/продажи лотов */ readonly getMaxLots: { readonly name: "GetMaxLots"; readonly requestType: OrdersUtils.MessageFns<GetMaxLotsRequest>; readonly requestStream: false; readonly responseType: OrdersUtils.MessageFns<GetMaxLotsResponse>; readonly responseStream: false; readonly options: {}; }; /** Метод получения предварительной стоимости для лимитной заявки */ readonly getOrderPrice: { readonly name: "GetOrderPrice"; readonly requestType: OrdersUtils.MessageFns<GetOrderPriceRequest>; readonly requestStream: false; readonly responseType: OrdersUtils.MessageFns<GetOrderPriceResponse>; readonly responseStream: false; readonly options: {}; }; }; }; export interface OrdersServiceImplementation<CallContextExt = {}> { /** Метод выставления заявки. */ postOrder(request: PostOrderRequest, context: CallContext & CallContextExt): Promise<DeepPartial<PostOrderResponse>>; /** Асинхронный метод выставления заявки. */ postOrderAsync(request: PostOrderAsyncRequest, context: CallContext & CallContextExt): Promise<DeepPartial<PostOrderAsyncResponse>>; /** Метод отмены биржевой заявки. */ cancelOrder(request: CancelOrderRequest, context: CallContext & CallContextExt): Promise<DeepPartial<CancelOrderResponse>>; /** Метод получения статуса торгового поручения. */ getOrderState(request: GetOrderStateRequest, context: CallContext & CallContextExt): Promise<DeepPartial<OrderState>>; /** Метод получения списка активных заявок по счёту. */ getOrders(request: GetOrdersRequest, context: CallContext & CallContextExt): Promise<DeepPartial<GetOrdersResponse>>; /** Метод изменения выставленной заявки. */ replaceOrder(request: ReplaceOrderRequest, context: CallContext & CallContextExt): Promise<DeepPartial<PostOrderResponse>>; /** расчет количества доступных для покупки/продажи лотов */ getMaxLots(request: GetMaxLotsRequest, context: CallContext & CallContextExt): Promise<DeepPartial<GetMaxLotsResponse>>; /** Метод получения предварительной стоимости для лимитной заявки */ getOrderPrice(request: GetOrderPriceRequest, context: CallContext & CallContextExt): Promise<DeepPartial<GetOrderPriceResponse>>; } export interface OrdersServiceClient<CallOptionsExt = {}> { /** Метод выставления заявки. */ postOrder(request: DeepPartial<PostOrderRequest>, options?: CallOptions & CallOptionsExt): Promise<PostOrderResponse>; /** Асинхронный метод выставления заявки. */ postOrderAsync(request: DeepPartial<PostOrderAsyncRequest>, options?: CallOptions & CallOptionsExt): Promise<PostOrderAsyncResponse>; /** Метод отмены биржевой заявки. */ cancelOrder(request: DeepPartial<CancelOrderRequest>, options?: CallOptions & CallOptionsExt): Promise<CancelOrderResponse>; /** Метод получения статуса торгового поручения. */ getOrderState(request: DeepPartial<GetOrderStateRequest>, options?: CallOptions & CallOptionsExt): Promise<OrderState>; /** Метод получения списка активных заявок по счёту. */ getOrders(request: DeepPartial<GetOrdersRequest>, options?: CallOptions & CallOptionsExt): Promise<GetOrdersResponse>; /** Метод изменения выставленной заявки. */ replaceOrder(request: DeepPartial<ReplaceOrderRequest>, options?: CallOptions & CallOptionsExt): Promise<PostOrderResponse>; /** расчет количества доступных для покупки/продажи лотов */ getMaxLots(request: DeepPartial<GetMaxLotsRequest>, options?: CallOptions & CallOptionsExt): Promise<GetMaxLotsResponse>; /** Метод получения предварительной стоимости для лимитной заявки */ getOrderPrice(request: DeepPartial<GetOrderPriceRequest>, options?: CallOptions & CallOptionsExt): Promise<GetOrderPriceResponse>; } type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]>; } : Partial<T>; type ServerStreamingMethodResult<Response> = { [Symbol.asyncIterator](): AsyncIterator<Response, void>; }; export declare namespace OrdersUtils { interface MessageFns<T> { encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; create(base?: DeepPartial<T>): T; fromPartial(object: DeepPartial<T>): T; } } export {};