@tinkoff/invest-js
Version:
T-Invest OpenAPI Client
1,036 lines (1,035 loc) • 59.3 kB
TypeScript
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
import { type CallContext, type CallOptions } from "nice-grpc-common";
import { InstrumentType, MoneyValue, Ping, PingDelaySettings, Quotation } from "./common";
/** Статус запрашиваемых операций. */
export declare enum OperationState {
/** OPERATION_STATE_UNSPECIFIED - Статус операции не определён. */
OPERATION_STATE_UNSPECIFIED = 0,
/** OPERATION_STATE_EXECUTED - Исполнена частично или полностью. */
OPERATION_STATE_EXECUTED = 1,
/** OPERATION_STATE_CANCELED - Отменена. */
OPERATION_STATE_CANCELED = 2,
/** OPERATION_STATE_PROGRESS - Исполняется. */
OPERATION_STATE_PROGRESS = 3,
UNRECOGNIZED = -1
}
export declare function operationStateFromJSON(object: any): OperationState;
export declare function operationStateToJSON(object: OperationState): string;
/** Тип операции. */
export declare enum OperationType {
/** OPERATION_TYPE_UNSPECIFIED - Тип операции не определён. */
OPERATION_TYPE_UNSPECIFIED = 0,
/** OPERATION_TYPE_INPUT - Пополнение брокерского счёта. */
OPERATION_TYPE_INPUT = 1,
/** OPERATION_TYPE_BOND_TAX - Удержание НДФЛ по купонам. */
OPERATION_TYPE_BOND_TAX = 2,
/** OPERATION_TYPE_OUTPUT_SECURITIES - Вывод ЦБ. */
OPERATION_TYPE_OUTPUT_SECURITIES = 3,
/** OPERATION_TYPE_OVERNIGHT - Доход по сделке РЕПО овернайт. */
OPERATION_TYPE_OVERNIGHT = 4,
/** OPERATION_TYPE_TAX - Удержание налога. */
OPERATION_TYPE_TAX = 5,
/** OPERATION_TYPE_BOND_REPAYMENT_FULL - Полное погашение облигаций. */
OPERATION_TYPE_BOND_REPAYMENT_FULL = 6,
/** OPERATION_TYPE_SELL_CARD - Продажа ЦБ с карты. */
OPERATION_TYPE_SELL_CARD = 7,
/** OPERATION_TYPE_DIVIDEND_TAX - Удержание налога по дивидендам. */
OPERATION_TYPE_DIVIDEND_TAX = 8,
/** OPERATION_TYPE_OUTPUT - Вывод денежных средств. */
OPERATION_TYPE_OUTPUT = 9,
/** OPERATION_TYPE_BOND_REPAYMENT - Частичное погашение облигаций. */
OPERATION_TYPE_BOND_REPAYMENT = 10,
/** OPERATION_TYPE_TAX_CORRECTION - Корректировка налога. */
OPERATION_TYPE_TAX_CORRECTION = 11,
/** OPERATION_TYPE_SERVICE_FEE - Удержание комиссии за обслуживание брокерского счёта. */
OPERATION_TYPE_SERVICE_FEE = 12,
/** OPERATION_TYPE_BENEFIT_TAX - Удержание налога за материальную выгоду. */
OPERATION_TYPE_BENEFIT_TAX = 13,
/** OPERATION_TYPE_MARGIN_FEE - Удержание комиссии за непокрытую позицию. */
OPERATION_TYPE_MARGIN_FEE = 14,
/** OPERATION_TYPE_BUY - Покупка ЦБ. */
OPERATION_TYPE_BUY = 15,
/** OPERATION_TYPE_BUY_CARD - Покупка ЦБ с карты. */
OPERATION_TYPE_BUY_CARD = 16,
/** OPERATION_TYPE_INPUT_SECURITIES - Перевод ценных бумаг из другого депозитария. */
OPERATION_TYPE_INPUT_SECURITIES = 17,
/** OPERATION_TYPE_SELL_MARGIN - Продажа в результате Margin-call. */
OPERATION_TYPE_SELL_MARGIN = 18,
/** OPERATION_TYPE_BROKER_FEE - Удержание комиссии за операцию. */
OPERATION_TYPE_BROKER_FEE = 19,
/** OPERATION_TYPE_BUY_MARGIN - Покупка в результате Margin-call. */
OPERATION_TYPE_BUY_MARGIN = 20,
/** OPERATION_TYPE_DIVIDEND - Выплата дивидендов. */
OPERATION_TYPE_DIVIDEND = 21,
/** OPERATION_TYPE_SELL - Продажа ЦБ. */
OPERATION_TYPE_SELL = 22,
/** OPERATION_TYPE_COUPON - Выплата купонов. */
OPERATION_TYPE_COUPON = 23,
/** OPERATION_TYPE_SUCCESS_FEE - Удержание комиссии SuccessFee. */
OPERATION_TYPE_SUCCESS_FEE = 24,
/** OPERATION_TYPE_DIVIDEND_TRANSFER - Передача дивидендного дохода. */
OPERATION_TYPE_DIVIDEND_TRANSFER = 25,
/** OPERATION_TYPE_ACCRUING_VARMARGIN - Зачисление вариационной маржи. */
OPERATION_TYPE_ACCRUING_VARMARGIN = 26,
/** OPERATION_TYPE_WRITING_OFF_VARMARGIN - Списание вариационной маржи. */
OPERATION_TYPE_WRITING_OFF_VARMARGIN = 27,
/** OPERATION_TYPE_DELIVERY_BUY - Покупка в рамках экспирации фьючерсного контракта. */
OPERATION_TYPE_DELIVERY_BUY = 28,
/** OPERATION_TYPE_DELIVERY_SELL - Продажа в рамках экспирации фьючерсного контракта. */
OPERATION_TYPE_DELIVERY_SELL = 29,
/** OPERATION_TYPE_TRACK_MFEE - Комиссия за управление по счёту автоследования. */
OPERATION_TYPE_TRACK_MFEE = 30,
/** OPERATION_TYPE_TRACK_PFEE - Комиссия за результат по счёту автоследования. */
OPERATION_TYPE_TRACK_PFEE = 31,
/** OPERATION_TYPE_TAX_PROGRESSIVE - Удержание налога по ставке 15%. */
OPERATION_TYPE_TAX_PROGRESSIVE = 32,
/** OPERATION_TYPE_BOND_TAX_PROGRESSIVE - Удержание налога по купонам по ставке 15%. */
OPERATION_TYPE_BOND_TAX_PROGRESSIVE = 33,
/** OPERATION_TYPE_DIVIDEND_TAX_PROGRESSIVE - Удержание налога по дивидендам по ставке 15%. */
OPERATION_TYPE_DIVIDEND_TAX_PROGRESSIVE = 34,
/** OPERATION_TYPE_BENEFIT_TAX_PROGRESSIVE - Удержание налога за материальную выгоду по ставке 15%. */
OPERATION_TYPE_BENEFIT_TAX_PROGRESSIVE = 35,
/** OPERATION_TYPE_TAX_CORRECTION_PROGRESSIVE - Корректировка налога по ставке 15%. */
OPERATION_TYPE_TAX_CORRECTION_PROGRESSIVE = 36,
/** OPERATION_TYPE_TAX_REPO_PROGRESSIVE - Удержание налога за возмещение по сделкам РЕПО по ставке 15%. */
OPERATION_TYPE_TAX_REPO_PROGRESSIVE = 37,
/** OPERATION_TYPE_TAX_REPO - Удержание налога за возмещение по сделкам РЕПО. */
OPERATION_TYPE_TAX_REPO = 38,
/** OPERATION_TYPE_TAX_REPO_HOLD - Удержание налога по сделкам РЕПО. */
OPERATION_TYPE_TAX_REPO_HOLD = 39,
/** OPERATION_TYPE_TAX_REPO_REFUND - Возврат налога по сделкам РЕПО. */
OPERATION_TYPE_TAX_REPO_REFUND = 40,
/** OPERATION_TYPE_TAX_REPO_HOLD_PROGRESSIVE - Удержание налога по сделкам РЕПО по ставке 15%. */
OPERATION_TYPE_TAX_REPO_HOLD_PROGRESSIVE = 41,
/** OPERATION_TYPE_TAX_REPO_REFUND_PROGRESSIVE - Возврат налога по сделкам РЕПО по ставке 15%. */
OPERATION_TYPE_TAX_REPO_REFUND_PROGRESSIVE = 42,
/** OPERATION_TYPE_DIV_EXT - Выплата дивидендов на карту. */
OPERATION_TYPE_DIV_EXT = 43,
/** OPERATION_TYPE_TAX_CORRECTION_COUPON - Корректировка налога по купонам. */
OPERATION_TYPE_TAX_CORRECTION_COUPON = 44,
/** OPERATION_TYPE_CASH_FEE - Комиссия за валютный остаток. */
OPERATION_TYPE_CASH_FEE = 45,
/** OPERATION_TYPE_OUT_FEE - Комиссия за вывод валюты с брокерского счёта. */
OPERATION_TYPE_OUT_FEE = 46,
/** OPERATION_TYPE_OUT_STAMP_DUTY - Гербовый сбор. */
OPERATION_TYPE_OUT_STAMP_DUTY = 47,
/** OPERATION_TYPE_OUTPUT_SWIFT - SWIFT-перевод. */
OPERATION_TYPE_OUTPUT_SWIFT = 50,
/** OPERATION_TYPE_INPUT_SWIFT - SWIFT-перевод. */
OPERATION_TYPE_INPUT_SWIFT = 51,
/** OPERATION_TYPE_OUTPUT_ACQUIRING - Перевод на карту. */
OPERATION_TYPE_OUTPUT_ACQUIRING = 53,
/** OPERATION_TYPE_INPUT_ACQUIRING - Перевод с карты. */
OPERATION_TYPE_INPUT_ACQUIRING = 54,
/** OPERATION_TYPE_OUTPUT_PENALTY - Комиссия за вывод средств. */
OPERATION_TYPE_OUTPUT_PENALTY = 55,
/** OPERATION_TYPE_ADVICE_FEE - Списание оплаты за сервис Советов. */
OPERATION_TYPE_ADVICE_FEE = 56,
/** OPERATION_TYPE_TRANS_IIS_BS - Перевод ценных бумаг с ИИС на брокерский счёт. */
OPERATION_TYPE_TRANS_IIS_BS = 57,
/** OPERATION_TYPE_TRANS_BS_BS - Перевод ценных бумаг с одного брокерского счёта на другой. */
OPERATION_TYPE_TRANS_BS_BS = 58,
/** OPERATION_TYPE_OUT_MULTI - Вывод денежных средств со счёта. */
OPERATION_TYPE_OUT_MULTI = 59,
/** OPERATION_TYPE_INP_MULTI - Пополнение денежных средств со счёта. */
OPERATION_TYPE_INP_MULTI = 60,
/** OPERATION_TYPE_OVER_PLACEMENT - Размещение биржевого овернайта. */
OPERATION_TYPE_OVER_PLACEMENT = 61,
/** OPERATION_TYPE_OVER_COM - Списание комиссии. */
OPERATION_TYPE_OVER_COM = 62,
/** OPERATION_TYPE_OVER_INCOME - Доход от оверанайта. */
OPERATION_TYPE_OVER_INCOME = 63,
/** OPERATION_TYPE_OPTION_EXPIRATION - Экспирация опциона. */
OPERATION_TYPE_OPTION_EXPIRATION = 64,
/** OPERATION_TYPE_FUTURE_EXPIRATION - Экспирация фьючерса. */
OPERATION_TYPE_FUTURE_EXPIRATION = 65,
UNRECOGNIZED = -1
}
export declare function operationTypeFromJSON(object: any): OperationType;
export declare function operationTypeToJSON(object: OperationType): string;
/** Результат подписки. */
export declare enum PortfolioSubscriptionStatus {
/** PORTFOLIO_SUBSCRIPTION_STATUS_UNSPECIFIED - Тип не определён. */
PORTFOLIO_SUBSCRIPTION_STATUS_UNSPECIFIED = 0,
/** PORTFOLIO_SUBSCRIPTION_STATUS_SUCCESS - Успешно. */
PORTFOLIO_SUBSCRIPTION_STATUS_SUCCESS = 1,
/** PORTFOLIO_SUBSCRIPTION_STATUS_ACCOUNT_NOT_FOUND - Счёт не найден или недостаточно прав. */
PORTFOLIO_SUBSCRIPTION_STATUS_ACCOUNT_NOT_FOUND = 2,
/** PORTFOLIO_SUBSCRIPTION_STATUS_INTERNAL_ERROR - Произошла ошибка. */
PORTFOLIO_SUBSCRIPTION_STATUS_INTERNAL_ERROR = 3,
UNRECOGNIZED = -1
}
export declare function portfolioSubscriptionStatusFromJSON(object: any): PortfolioSubscriptionStatus;
export declare function portfolioSubscriptionStatusToJSON(object: PortfolioSubscriptionStatus): string;
/** Результат подписки. */
export declare enum PositionsAccountSubscriptionStatus {
/** POSITIONS_SUBSCRIPTION_STATUS_UNSPECIFIED - Тип не определён. */
POSITIONS_SUBSCRIPTION_STATUS_UNSPECIFIED = 0,
/** POSITIONS_SUBSCRIPTION_STATUS_SUCCESS - Успешно. */
POSITIONS_SUBSCRIPTION_STATUS_SUCCESS = 1,
/** POSITIONS_SUBSCRIPTION_STATUS_ACCOUNT_NOT_FOUND - Счёт не найден или недостаточно прав. */
POSITIONS_SUBSCRIPTION_STATUS_ACCOUNT_NOT_FOUND = 2,
/** POSITIONS_SUBSCRIPTION_STATUS_INTERNAL_ERROR - Произошла ошибка. */
POSITIONS_SUBSCRIPTION_STATUS_INTERNAL_ERROR = 3,
UNRECOGNIZED = -1
}
export declare function positionsAccountSubscriptionStatusFromJSON(object: any): PositionsAccountSubscriptionStatus;
export declare function positionsAccountSubscriptionStatusToJSON(object: PositionsAccountSubscriptionStatus): string;
/** Запрос получения списка операций по счёту. */
export interface OperationsRequest {
/** Идентификатор счёта клиента. */
accountId: string;
/** Начало периода по UTC. */
from?: Date | undefined;
/** Окончание периода по UTC. */
to?: Date | undefined;
/** Статус запрашиваемых операций. */
state?: OperationState | undefined;
/** FIGI-идентификатор инструмента для фильтрации. */
figi?: string | undefined;
}
/** Список операций. */
export interface OperationsResponse {
/** Массив операций. */
operations: Operation[];
}
/** Данные по операции. */
export interface Operation {
/** Идентификатор операции. */
id: string;
/** Идентификатор родительской операции. */
parentOperationId: string;
/** Валюта операции. */
currency: string;
/** Сумма операции. */
payment: MoneyValue | undefined;
/** Цена операции за 1 инструмент. Чтобы получить стоимость лота, нужно умножить на лотность инструмента. */
price: MoneyValue | undefined;
/** Статус операции. */
state: OperationState;
/** Количество единиц инструмента. */
quantity: number;
/** Неисполненный остаток по сделке. */
quantityRest: number;
/** FIGI-идентификатор инструмента, связанного с операцией. */
figi: string;
/** Тип инструмента. Возможные значения: </br></br>`bond` — облигация; </br>`share` — акция; </br>`currency` — валюта; </br>`etf` — фонд; </br>`futures` — фьючерс. */
instrumentType: string;
/** Дата и время операции в формате часовом поясе UTC. */
date: Date | undefined;
/** Текстовое описание типа операции. */
type: string;
/** Тип операции. */
operationType: OperationType;
/** Массив сделок. */
trades: OperationTrade[];
/** Идентификатор актива */
assetUid: string;
/** Уникальный идентификатор позиции. */
positionUid: string;
/** Уникальный идентификатор инструмента. */
instrumentUid: string;
/** Массив дочерних операций. */
childOperations: ChildOperationItem[];
}
/** Сделка по операции. */
export interface OperationTrade {
/** Идентификатор сделки. */
tradeId: string;
/** Дата и время сделки по UTC. */
dateTime: Date | undefined;
/** Количество инструментов. */
quantity: number;
/** Цена за 1 инструмент. Чтобы получить стоимость лота, нужно умножить на лотность инструмента. */
price: MoneyValue | undefined;
}
/** Запрос получения текущего портфеля по счёту. */
export interface PortfolioRequest {
/** Идентификатор счёта пользователя. */
accountId: string;
/** Валюта, в которой нужно рассчитать портфель. */
currency?: PortfolioRequest_CurrencyRequest | undefined;
}
export declare enum PortfolioRequest_CurrencyRequest {
/** RUB - Рубли */
RUB = 0,
/** USD - Доллары */
USD = 1,
/** EUR - Евро */
EUR = 2,
UNRECOGNIZED = -1
}
export declare function portfolioRequest_CurrencyRequestFromJSON(object: any): PortfolioRequest_CurrencyRequest;
export declare function portfolioRequest_CurrencyRequestToJSON(object: PortfolioRequest_CurrencyRequest): string;
/** Текущий портфель по счёту. */
export interface PortfolioResponse {
/** Общая стоимость акций в портфеле. */
totalAmountShares: MoneyValue | undefined;
/** Общая стоимость облигаций в портфеле. */
totalAmountBonds: MoneyValue | undefined;
/** Общая стоимость фондов в портфеле. */
totalAmountEtf: MoneyValue | undefined;
/** Общая стоимость валют в портфеле. */
totalAmountCurrencies: MoneyValue | undefined;
/** Общая стоимость фьючерсов в портфеле. */
totalAmountFutures: MoneyValue | undefined;
/** Текущая относительная доходность портфеля в %. */
expectedYield: Quotation | undefined;
/** Список позиций портфеля. */
positions: PortfolioPosition[];
/** Идентификатор счёта пользователя. */
accountId: string;
/** Общая стоимость опционов в портфеле. */
totalAmountOptions: MoneyValue | undefined;
/** Общая стоимость структурных нот в портфеле. */
totalAmountSp: MoneyValue | undefined;
/** Общая стоимость портфеля. */
totalAmountPortfolio: MoneyValue | undefined;
/** Массив виртуальных позиций портфеля. */
virtualPositions: VirtualPortfolioPosition[];
/** Рассчитанная доходность портфеля за день в рублях */
dailyYield: MoneyValue | undefined;
/** Относительная доходность в день в % */
dailyYieldRelative: Quotation | undefined;
}
/** Запрос позиций портфеля по счёту. */
export interface PositionsRequest {
/** Идентификатор счёта пользователя. */
accountId: string;
}
/** Список позиций по счёту. */
export interface PositionsResponse {
/** Массив валютных позиций портфеля. */
money: MoneyValue[];
/** Массив заблокированных валютных позиций портфеля. */
blocked: MoneyValue[];
/** Список ценно-бумажных позиций портфеля. */
securities: PositionsSecurities[];
/** Признак идущей выгрузки лимитов в данный момент. */
limitsLoadingInProgress: boolean;
/** Список фьючерсов портфеля. */
futures: PositionsFutures[];
/** Список опционов портфеля. */
options: PositionsOptions[];
/** Идентификатор счёта пользователя. */
accountId: string;
}
/** Запрос доступного остатка для вывода. */
export interface WithdrawLimitsRequest {
/** Идентификатор счёта пользователя. */
accountId: string;
}
/** Доступный остаток для вывода. */
export interface WithdrawLimitsResponse {
/** Массив валютных позиций портфеля. */
money: MoneyValue[];
/** Массив заблокированных валютных позиций портфеля. */
blocked: MoneyValue[];
/** Заблокировано под гарантийное обеспечение фьючерсов. */
blockedGuarantee: MoneyValue[];
}
/** Позиции портфеля. */
export interface PortfolioPosition {
/** FIGI-идентификатор инструмента. */
figi: string;
/** Тип инструмента. */
instrumentType: string;
/** Количество инструмента в портфеле в штуках. */
quantity: Quotation | undefined;
/** Средневзвешенная цена позиции. Для пересчёта возможна задержка до одной секунды. */
averagePositionPrice: MoneyValue | undefined;
/** Текущая рассчитанная доходность позиции. */
expectedYield: Quotation | undefined;
/** Текущий НКД. */
currentNkd: MoneyValue | undefined;
/**
* Deprecated Средняя цена позиции в пунктах (для фьючерсов). Для пересчёта возможна задержка до одной секунды.
*
* @deprecated
*/
averagePositionPricePt: Quotation | undefined;
/** Текущая цена за 1 инструмент. Чтобы получить стоимость лота, нужно умножить на лотность инструмента. */
currentPrice: MoneyValue | undefined;
/** Средняя цена позиции по методу FIFO. Для пересчёта возможна задержка до одной секунды. */
averagePositionPriceFifo: MoneyValue | undefined;
/**
* Deprecated Количество лотов в портфеле.
*
* @deprecated
*/
quantityLots: Quotation | undefined;
/** Заблокировано на бирже. */
blocked: boolean;
/** Количество бумаг, заблокированных выставленными заявками. */
blockedLots: Quotation | undefined;
/** Уникальный идентификатор позиции. */
positionUid: string;
/** Уникальный идентификатор инструмента. */
instrumentUid: string;
/** Вариационная маржа. */
varMargin: MoneyValue | undefined;
/** Текущая рассчитанная доходность позиции. */
expectedYieldFifo: Quotation | undefined;
/** Рассчитанная доходность портфеля за день */
dailyYield: MoneyValue | undefined;
}
export interface VirtualPortfolioPosition {
/** Уникальный идентификатор позиции. */
positionUid: string;
/** Уникальный идентификатор инструмента. */
instrumentUid: string;
/** FIGI-идентификатор инструмента. */
figi: string;
/** Тип инструмента. */
instrumentType: string;
/** Количество инструмента в портфеле в штуках. */
quantity: Quotation | undefined;
/** Средневзвешенная цена позиции. Для пересчёта возможна задержка до одной секунды. */
averagePositionPrice: MoneyValue | undefined;
/** Текущая рассчитанная доходность позиции. */
expectedYield: Quotation | undefined;
/** Текущая рассчитанная доходность позиции. */
expectedYieldFifo: Quotation | undefined;
/** Дата, до которой нужно продать виртуальные бумаги. После этой даты виртуальная позиция «сгораетт». */
expireDate: Date | undefined;
/** Текущая цена за 1 инструмент. Чтобы получить стоимость лота, нужно умножить на лотность инструмента. */
currentPrice: MoneyValue | undefined;
/** Средняя цена позиции по методу FIFO. Для пересчёта возможна задержка до одной секунды. */
averagePositionPriceFifo: MoneyValue | undefined;
/** Рассчитанная доходность портфеля за день */
dailyYield: MoneyValue | undefined;
}
/** Баланс позиции ценной бумаги. */
export interface PositionsSecurities {
/** FIGI-идентификатор бумаги. */
figi: string;
/** Количество бумаг, заблокированных выставленными заявками. */
blocked: number;
/** Текущий незаблокированный баланс. */
balance: number;
/** Уникальный идентификатор позиции. */
positionUid: string;
/** Уникальный идентификатор инструмента. */
instrumentUid: string;
/** Заблокировано на бирже. */
exchangeBlocked: boolean;
/** Тип инструмента. */
instrumentType: string;
}
/** Баланс фьючерса. */
export interface PositionsFutures {
/** FIGI-идентификатор фьючерса. */
figi: string;
/** Количество бумаг, заблокированных выставленными заявками. */
blocked: number;
/** Текущий незаблокированный баланс. */
balance: number;
/** Уникальный идентификатор позиции. */
positionUid: string;
/** Уникальный идентификатор инструмента. */
instrumentUid: string;
}
/** Баланс опциона. */
export interface PositionsOptions {
/** Уникальный идентификатор позиции опциона. */
positionUid: string;
/** Уникальный идентификатор инструмента. */
instrumentUid: string;
/** Количество бумаг, заблокированных выставленными заявками. */
blocked: number;
/** Текущий незаблокированный баланс. */
balance: number;
}
export interface BrokerReportRequest {
generateBrokerReportRequest?: GenerateBrokerReportRequest | undefined;
getBrokerReportRequest?: GetBrokerReportRequest | undefined;
}
export interface BrokerReportResponse {
generateBrokerReportResponse?: GenerateBrokerReportResponse | undefined;
getBrokerReportResponse?: GetBrokerReportResponse | undefined;
}
export interface GenerateBrokerReportRequest {
/** Идентификатор счёта клиента. */
accountId: string;
/** Начало периода по UTC. */
from: Date | undefined;
/** Окончание периода по UTC. */
to: Date | undefined;
}
export interface GenerateBrokerReportResponse {
/** Идентификатор задачи формирования брокерского отчёта. */
taskId: string;
}
export interface GetBrokerReportRequest {
/** Идентификатор задачи формирования брокерского отчёта. */
taskId: string;
/** Номер страницы отчёта, начинается с 1. Значение по умолчанию — 0. */
page?: number | undefined;
}
export interface GetBrokerReportResponse {
brokerReport: BrokerReport[];
/** Количество записей в отчёте. */
itemsCount: number;
/** Количество страниц с данными отчёта, начинается с 0. */
pagesCount: number;
/** Текущая страница, начинается с 0. */
page: number;
}
export interface BrokerReport {
/** Номер сделки. */
tradeId: string;
/** Номер поручения. */
orderId: string;
/** FIGI-идентификаторинструмента. */
figi: string;
/** Признак исполнения. */
executeSign: string;
/** Дата и время заключения по UTC. */
tradeDatetime: Date | undefined;
/** Торговая площадка. */
exchange: string;
/** Режим торгов. */
classCode: string;
/** Вид сделки. */
direction: string;
/** Сокращённое наименование актива. */
name: string;
/** Код актива. */
ticker: string;
/** Цена за единицу. */
price: MoneyValue | undefined;
/** Количество. */
quantity: number;
/** Сумма без НКД. */
orderAmount: MoneyValue | undefined;
/** НКД. */
aciValue: Quotation | undefined;
/** Сумма сделки. */
totalOrderAmount: MoneyValue | undefined;
/** Комиссия брокера. */
brokerCommission: MoneyValue | undefined;
/** Комиссия биржи. */
exchangeCommission: MoneyValue | undefined;
/** Комиссия клирингового центра. */
exchangeClearingCommission: MoneyValue | undefined;
/** Ставка РЕПО, %. */
repoRate: Quotation | undefined;
/** Контрагент или брокерарокер. */
party: string;
/** Дата расчётов по UTC. */
clearValueDate: Date | undefined;
/** Дата поставки по UTC. */
secValueDate: Date | undefined;
/** Статус брокера. */
brokerStatus: string;
/** Тип договора. */
separateAgreementType: string;
/** Номер договора. */
separateAgreementNumber: string;
/** Дата договора. */
separateAgreementDate: string;
/** Тип расчёта по сделке. */
deliveryType: string;
}
export interface GetDividendsForeignIssuerRequest {
/** Объект запроса формирования отчёта. */
generateDivForeignIssuerReport?: GenerateDividendsForeignIssuerReportRequest | undefined;
/** Объект запроса сформированного отчёта. */
getDivForeignIssuerReport?: GetDividendsForeignIssuerReportRequest | undefined;
}
export interface GetDividendsForeignIssuerResponse {
/** Объект результата задачи запуска формирования отчёта. */
generateDivForeignIssuerReportResponse?: GenerateDividendsForeignIssuerReportResponse | undefined;
/** Отчёт «Справка о доходах за пределами РФ». */
divForeignIssuerReport?: GetDividendsForeignIssuerReportResponse | undefined;
}
/** Объект запроса формирования отчёта «Справка о доходах за пределами РФ». */
export interface GenerateDividendsForeignIssuerReportRequest {
/** Идентификатор счёта клиента. */
accountId: string;
/** Начало периода по UTC. */
from: Date | undefined;
/** Окончание периода по UTC. Как правило, можно сформировать отчёт по дату на несколько дней меньше текущей. Начало и окончание периода должны быть в рамках одного календарного года. */
to: Date | undefined;
}
/** Объект запроса сформированного отчёта «Справка о доходах за пределами РФ». */
export interface GetDividendsForeignIssuerReportRequest {
/** Идентификатор задачи формирования отчёта. */
taskId: string;
/** Номер страницы отчета (начинается с 0), значение по умолчанию: 0. */
page?: number | undefined;
}
/** Объект результата задачи запуска формирования отчёта «Справка о доходах за пределами РФ». */
export interface GenerateDividendsForeignIssuerReportResponse {
/** Идентификатор задачи формирования отчёта. */
taskId: string;
}
export interface GetDividendsForeignIssuerReportResponse {
dividendsForeignIssuerReport: DividendsForeignIssuerReport[];
/** Количество записей в отчёте. */
itemsCount: number;
/** Количество страниц с данными отчёта, начинается с 0. */
pagesCount: number;
/** Текущая страница, начинается с 0. */
page: number;
}
/** Отчёт «Справка о доходах за пределами РФ». */
export interface DividendsForeignIssuerReport {
/** Дата фиксации реестра. */
recordDate: Date | undefined;
/** Дата выплаты. */
paymentDate: Date | undefined;
/** Наименование ценной бумаги. */
securityName: string;
/** ISIN-идентификатор ценной бумаги. */
isin: string;
/** Страна эмитента. Для депозитарных расписок указывается страна эмитента базового актива. */
issuerCountry: string;
/** Количество ценных бумаг. */
quantity: number;
/** Выплаты на одну бумагу */
dividend: Quotation | undefined;
/** Комиссия внешних платёжных агентов. */
externalCommission: Quotation | undefined;
/** Сумма до удержания налога. */
dividendGross: Quotation | undefined;
/** Сумма налога, удержанного агентом. */
tax: Quotation | undefined;
/** Итоговая сумма выплаты. */
dividendAmount: Quotation | undefined;
/** Валюта. */
currency: string;
}
/** Запрос установки stream-соединения. */
export interface PortfolioStreamRequest {
/** Массив идентификаторов счётов пользователя. */
accounts: string[];
/** Запрос настройки пинга. */
pingSettings: PingDelaySettings | undefined;
}
/** Информация по позициям и доходностям портфелей. */
export interface PortfolioStreamResponse {
/** Объект результата подписки. */
subscriptions?: PortfolioSubscriptionResult | undefined;
/** Объект стриминга портфеля. */
portfolio?: PortfolioResponse | undefined;
/** Проверка активности стрима. */
ping?: Ping | undefined;
}
/** Объект результата подписки. */
export interface PortfolioSubscriptionResult {
/** Массив счетов клиента. */
accounts: AccountSubscriptionStatus[];
/** Уникальный идентификатор запроса, подробнее: [tracking_id](https://russianinvestments.github.io/investAPI/grpc#tracking-id). */
trackingId: string;
/** Идентификатор открытого соединения */
streamId: string;
}
/** Счёт клиента. */
export interface AccountSubscriptionStatus {
/** Идентификатор счёта. */
accountId: string;
/** Результат подписки. */
subscriptionStatus: PortfolioSubscriptionStatus;
}
/** Запрос списка операций по счёту с пагинацией. */
export interface GetOperationsByCursorRequest {
/** Идентификатор счёта клиента, обязательный параметр. Остальные параметры опциональны. */
accountId: string;
/** Идентификатор инструмента — FIGI или UID инструмента. */
instrumentId?: string | undefined;
/** Начало периода по UTC. */
from?: Date | undefined;
/** Окончание периода по UTC. */
to?: Date | undefined;
/** Идентификатор элемента, с которого начать формировать ответ. */
cursor?: string | undefined;
/** Лимит количества операций. По умолчанию — `100`, максимальное значение — `1000`. */
limit?: number | undefined;
/** Тип операции. Принимает значение из списка `OperationType`. */
operationTypes: OperationType[];
/** Статус запрашиваемых операций. Возможные значения указаны в `OperationState`. */
state?: OperationState | undefined;
/** Флаг возврата комиссии. По умолчанию — `false`. */
withoutCommissions?: boolean | undefined;
/** Флаг получения ответа без массива сделок. */
withoutTrades?: boolean | undefined;
/** Флаг показа overnight операций. */
withoutOvernights?: boolean | undefined;
}
/** Список операций по счёту с пагинацией. */
export interface GetOperationsByCursorResponse {
/** Признак, есть ли следующий элемент. */
hasNext: boolean;
/** Следующий курсор. */
nextCursor: string;
/** Список операций. */
items: OperationItem[];
}
/** Данные об операции. */
export interface OperationItem {
/** Курсор. */
cursor: string;
/** Номер счёта клиента. */
brokerAccountId: string;
/** Идентификатор операции, может меняться с течением времени. */
id: string;
/** Идентификатор родительской операции. Может измениться, если изменился ID родительской операции. */
parentOperationId: string;
/** Название операции. */
name: string;
/** Дата поручения. */
date: Date | undefined;
/** Тип операции. */
type: OperationType;
/** Описание операции. */
description: string;
/** Статус поручения. */
state: OperationState;
/** Уникальный идентификатор инструмента. */
instrumentUid: string;
/** FIGI. */
figi: string;
/** Тип инструмента. */
instrumentType: string;
/** Тип инструмента. */
instrumentKind: InstrumentType;
/** Уникальный идентификатор позиции. */
positionUid: string;
/** Сумма операции. */
payment: MoneyValue | undefined;
/** Цена операции за 1 инструмент. */
price: MoneyValue | undefined;
/** Комиссия. */
commission: MoneyValue | undefined;
/** Доходность. */
yield: MoneyValue | undefined;
/** Относительная доходность. */
yieldRelative: Quotation | undefined;
/** Накопленный купонный доход. */
accruedInt: MoneyValue | undefined;
/** Количество единиц инструмента. */
quantity: number;
/** Неисполненный остаток по сделке. */
quantityRest: number;
/** Исполненный остаток. */
quantityDone: number;
/** Дата и время снятия заявки. */
cancelDateTime: Date | undefined;
/** Причина отмены операции. */
cancelReason: string;
/** Массив сделок. */
tradesInfo: OperationItemTrades | undefined;
/** Идентификатор актива. */
assetUid: string;
/** Массив дочерних операций. */
childOperations: ChildOperationItem[];
}
/** Массив с информацией о сделках. */
export interface OperationItemTrades {
trades: OperationItemTrade[];
}
/** Сделка по операции. */
export interface OperationItemTrade {
/** Номер сделки. */
num: string;
/** Дата сделки. */
date: Date | undefined;
/** Количество в единицах. */
quantity: number;
/** Цена. */
price: MoneyValue | undefined;
/** Доходность. */
yield: MoneyValue | undefined;
/** Относительная доходность. */
yieldRelative: Quotation | undefined;
}
/** Запрос установки stream-соединения позиций. */
export interface PositionsStreamRequest {
/** Массив идентификаторов счётов пользователя. */
accounts: string[];
/** Получение состояния позиций на момент подключения. */
withInitialPositions: boolean;
/** Запрос настройки пинга. */
pingSettings: PingDelaySettings | undefined;
}
/** Информация по изменению позиций портфеля. */
export interface PositionsStreamResponse {
/** Объект результата подписки. */
subscriptions?: PositionsSubscriptionResult | undefined;
/** Объект стриминга позиций. */
position?: PositionData | undefined;
/** Проверка активности стрима. */
ping?: Ping | undefined;
/** Текущие позиции. */
initialPositions?: PositionsResponse | undefined;
}
/** Объект результата подписки. */
export interface PositionsSubscriptionResult {
/** Массив счетов клиента. */
accounts: PositionsSubscriptionStatus[];
/** Уникальный идентификатор запроса, подробнее: [tracking_id](https://russianinvestments.github.io/investAPI/grpc#tracking-id). */
trackingId: string;
/** Идентификатор открытого соединения */
streamId: string;
}
/** Счёт клиента. */
export interface PositionsSubscriptionStatus {
/** Идентификатор счёта. */
accountId: string;
/** Результат подписки. */
subscriptionStatus: PositionsAccountSubscriptionStatus;
}
/** Данные о позиции портфеля. */
export interface PositionData {
/** Идентификатор счёта. */
accountId: string;
/** Массив валютных позиций портфеля. */
money: PositionsMoney[];
/** Список ценно-бумажных позиций портфеля. */
securities: PositionsSecurities[];
/** Список фьючерсов портфеля. */
futures: PositionsFutures[];
/** Список опционов портфеля. */
options: PositionsOptions[];
/** Дата и время операции в формате UTC. */
date: Date | undefined;
}
/** Валютная позиция портфеля. */
export interface PositionsMoney {
/** Доступное количество валютный позиций. */
availableValue: MoneyValue | undefined;
/** Заблокированное количество валютных позиций. */
blockedValue: MoneyValue | undefined;
}
export interface ChildOperationItem {
/** Уникальный идентификатор инструмента. */
instrumentUid: string;
/** Сумма операции. */
payment: MoneyValue | undefined;
}
export declare const OperationsRequest: OperationsUtils.MessageFns<OperationsRequest>;
export declare const OperationsResponse: OperationsUtils.MessageFns<OperationsResponse>;
export declare const Operation: OperationsUtils.MessageFns<Operation>;
export declare const OperationTrade: OperationsUtils.MessageFns<OperationTrade>;
export declare const PortfolioRequest: OperationsUtils.MessageFns<PortfolioRequest>;
export declare const PortfolioResponse: OperationsUtils.MessageFns<PortfolioResponse>;
export declare const PositionsRequest: OperationsUtils.MessageFns<PositionsRequest>;
export declare const PositionsResponse: OperationsUtils.MessageFns<PositionsResponse>;
export declare const WithdrawLimitsRequest: OperationsUtils.MessageFns<WithdrawLimitsRequest>;
export declare const WithdrawLimitsResponse: OperationsUtils.MessageFns<WithdrawLimitsResponse>;
export declare const PortfolioPosition: OperationsUtils.MessageFns<PortfolioPosition>;
export declare const VirtualPortfolioPosition: OperationsUtils.MessageFns<VirtualPortfolioPosition>;
export declare const PositionsSecurities: OperationsUtils.MessageFns<PositionsSecurities>;
export declare const PositionsFutures: OperationsUtils.MessageFns<PositionsFutures>;
export declare const PositionsOptions: OperationsUtils.MessageFns<PositionsOptions>;
export declare const BrokerReportRequest: OperationsUtils.MessageFns<BrokerReportRequest>;
export declare const BrokerReportResponse: OperationsUtils.MessageFns<BrokerReportResponse>;
export declare const GenerateBrokerReportRequest: OperationsUtils.MessageFns<GenerateBrokerReportRequest>;
export declare const GenerateBrokerReportResponse: OperationsUtils.MessageFns<GenerateBrokerReportResponse>;
export declare const GetBrokerReportRequest: OperationsUtils.MessageFns<GetBrokerReportRequest>;
export declare const GetBrokerReportResponse: OperationsUtils.MessageFns<GetBrokerReportResponse>;
export declare const BrokerReport: OperationsUtils.MessageFns<BrokerReport>;
export declare const GetDividendsForeignIssuerRequest: OperationsUtils.MessageFns<GetDividendsForeignIssuerRequest>;
export declare const GetDividendsForeignIssuerResponse: OperationsUtils.MessageFns<GetDividendsForeignIssuerResponse>;
export declare const GenerateDividendsForeignIssuerReportRequest: OperationsUtils.MessageFns<GenerateDividendsForeignIssuerReportRequest>;
export declare const GetDividendsForeignIssuerReportRequest: OperationsUtils.MessageFns<GetDividendsForeignIssuerReportRequest>;
export declare const GenerateDividendsForeignIssuerReportResponse: OperationsUtils.MessageFns<GenerateDividendsForeignIssuerReportResponse>;
export declare const GetDividendsForeignIssuerReportResponse: OperationsUtils.MessageFns<GetDividendsForeignIssuerReportResponse>;
export declare const DividendsForeignIssuerReport: OperationsUtils.MessageFns<DividendsForeignIssuerReport>;
export declare const PortfolioStreamRequest: OperationsUtils.MessageFns<PortfolioStreamRequest>;
export declare const PortfolioStreamResponse: OperationsUtils.MessageFns<PortfolioStreamResponse>;
export declare const PortfolioSubscriptionResult: OperationsUtils.MessageFns<PortfolioSubscriptionResult>;
export declare const AccountSubscriptionStatus: OperationsUtils.MessageFns<AccountSubscriptionStatus>;
export declare const GetOperationsByCursorRequest: OperationsUtils.MessageFns<GetOperationsByCursorRequest>;
export declare const GetOperationsByCursorResponse: OperationsUtils.MessageFns<GetOperationsByCursorResponse>;
export declare const OperationItem: OperationsUtils.MessageFns<OperationItem>;
export declare const OperationItemTrades: OperationsUtils.MessageFns<OperationItemTrades>;
export declare const OperationItemTrade: OperationsUtils.MessageFns<OperationItemTrade>;
export declare const PositionsStreamRequest: OperationsUtils.MessageFns<PositionsStreamRequest>;
export declare const PositionsStreamResponse: OperationsUtils.MessageFns<PositionsStreamResponse>;
export declare const PositionsSubscriptionResult: OperationsUtils.MessageFns<PositionsSubscriptionResult>;
export declare const PositionsSubscriptionStatus: OperationsUtils.MessageFns<PositionsSubscriptionStatus>;
export declare const PositionData: OperationsUtils.MessageFns<PositionData>;
export declare const PositionsMoney: OperationsUtils.MessageFns<PositionsMoney>;
export declare const ChildOperationItem: OperationsUtils.MessageFns<ChildOperationItem>;
/**
* С помощью методов сервиса можно получить:</br></br> **1**. Список операций по счёту.</br> **2**.
* Портфель по счёту.</br> **3**. Позиции ценных бумаг на счёте.</br> **4**.
* Доступный остаток для вывода средств.</br> **5**. Различные отчёты.
*/
export type OperationsServiceDefinition = typeof OperationsServiceDefinition;
export declare const OperationsServiceDefinition: {
readonly name: "OperationsService";
readonly fullName: "tinkoff.public.invest.api.contract.v1.OperationsService";
readonly methods: {
/**
* Получить список операций по счёту. При работе с методом учитывайте
* [особенности взаимодействия](/investAPI/operations_problems).
*/
readonly getOperations: {
readonly name: "GetOperations";
readonly requestType: OperationsUtils.MessageFns<OperationsRequest>;
readonly requestStream: false;
readonly responseType: OperationsUtils.MessageFns<OperationsResponse>;
readonly responseStream: false;
readonly options: {};
};
/** Получить портфель по счёту. */
readonly getPortfolio: {
readonly name: "GetPortfolio";
readonly requestType: OperationsUtils.MessageFns<PortfolioRequest>;
readonly requestStream: false;
readonly responseType: OperationsUtils.MessageFns<PortfolioResponse>;
readonly responseStream: false;
readonly options: {};
};
/** Получить список позиций по счёту. */
readonly getPositions: {
readonly name: "GetPositions";
readonly requestType: OperationsUtils.MessageFns<PositionsRequest>;
readonly requestStream: false;
readonly responseType: OperationsUtils.MessageFns<PositionsResponse>;
readonly responseStream: false;
readonly options: {};
};
/** Получить доступный остаток для вывода средств. */
readonly getWithdrawLimits: {
readonly name: "GetWithdrawLimits";
readonly requestType: OperationsUtils.MessageFns<WithdrawLimitsRequest>;
readonly requestStream: false;
readonly responseType: OperationsUtils.MessageFns<WithdrawLimitsResponse>;
readonly responseStream: false;
readonly options: {};
};
/** Получить брокерский отчёт. */
readonly getBrokerReport: {
readonly name: "GetBrokerReport";
readonly requestType: OperationsUtils.MessageFns<BrokerReportRequest>;
readonly requestStream: false;
readonly responseType: OperationsUtils.MessageFns<BrokerReportResponse>;
readonly responseStream: false;
readonly options: {};
};
/** Получить отчёт «Справка о доходах за пределами РФ». */
readonly getDividendsForeignIssuer: {
readonly name: "GetDividendsForeignIssuer";
readonly requestType: OperationsUtils.MessageFns<GetDividendsForeignIssuerRequest>;
readonly requestStream: false;
readonly responseType: OperationsUtils.MessageFns<GetDividendsForeignIssuerResponse>;
readonly responseStream: false;
readonly options: {};
};
/**
* Получить список операций по счёту с пагинацией. При работе с методом учитывайте
* [особенности взаимодействия](/investAPI/operations_problems).
*/
readonly getOperationsByCursor: {
readonly name: "GetOperationsByCursor";
readonly requestType: OperationsUtils.MessageFns<GetOperationsByCursorRequest>;
readonly requestStream: false;
readonly responseType: OperationsUtils.MessageFns<GetOperationsByCursorResponse>;
readonly responseStream: false;
readonly options: {};
};
};
};
export interface OperationsServiceImplementation<CallContextExt = {}> {
/**
* Получить список операций по счёту. При работе с методом учитывайте
* [особенности взаимодействия](/investAPI/operations_problems).
*/
getOperations(request: OperationsRequest, context: CallContext & CallContextExt): Promise<DeepPartial<OperationsResponse>>;
/** Получить портфель по счёту. */
getPortfolio(request: PortfolioRequest, context: CallContext & CallContextExt): Promise<DeepPartial<PortfolioResponse>>;
/** Получить список позиций по счёту. */
getPositions(request: PositionsRequest, context: CallContext & CallContextExt): Promise<DeepPartial<PositionsResponse>>;
/** Получить доступный остаток для вывода средств. */
getWithdrawLimits(request: WithdrawLimitsRequest, context: CallContext & CallContextExt): Promise<DeepPartial<WithdrawLimitsResponse>>;
/** Получить брокерский отчёт. */
getBrokerReport(request: BrokerReportRequest, context: CallContext & CallContextExt): Promise<DeepPartial<BrokerReportResponse>>;
/** Получить отчёт «Справка о доходах за пределами РФ». */
getDividendsForeignIssuer(request: GetDividendsForeignIssuerRequest, context: CallContext & CallContextExt): Promise<DeepPartial<GetDividendsForeignIssuerResponse>>;
/**
* Получить список операций по счёту с пагинацией. При работе с методом учитывайте
* [особенности взаимодействия](/investAPI/operations_problems).
*/
getOperationsByCursor(request: GetOperationsByCursorRequest, context: CallContext & CallContextExt): Promise<DeepPartial<GetOperationsByCursorResponse>>;
}
export interface OperationsServiceClient<CallOptionsExt = {}> {
/**
* Получить список операций по счёту. При работе с методом учитывайте
* [особенности взаимодействия](/investAPI/operations_problems).
*/
getOperations(request: DeepPartial<OperationsRequest>, options?: CallOptions & CallOptionsExt): Promise<OperationsResponse>;
/** Получить портфель по счёту. */
getPortfolio(request: DeepPartial<PortfolioRequest>, options?: CallOptions & CallOptionsExt): Promise<PortfolioResponse>;
/** Получить список позиций по счёту. */
getPositions(request: DeepPartial<PositionsRequest>, options?: CallOptions & CallOptionsExt): Promise<PositionsResponse>;
/** Получить доступный остаток для вывода средств. */
getWithdrawLimits(request: DeepPartial<WithdrawLimitsRequest>, options?: CallOptions & CallOptionsExt): Promise<WithdrawLimitsResponse>;
/** Получить брокерский отчёт. */
getBrokerReport(request: DeepPartial<BrokerReportRequest>, options?: CallOptions & CallOptionsExt): Promise<BrokerReportResponse>;
/** Получить отчёт «Справка о доходах за пределами РФ». */
getDividendsForeignIssuer(request: DeepPartial<GetDividendsForeignIssuerRequest>, options?: CallOptions & CallOptionsExt): Promise<GetDividendsForeignIssuerResponse>;
/**
* Получить список операций по счёту с пагинацией. При работе с методом учитывайте
* [особенности взаимодействия](/investAPI/operations_problems).
*/
getOperationsByCursor(request: DeepPartial<GetOperationsByCursorRequest>, options?: CallOptions & CallOptionsExt): Promise<GetOperationsByCursorResponse>;
}
export type OperationsStreamServiceDefinition = typeof OperationsStreamServiceDefinition;
export declare const OperationsStreamServiceDefinition: {
readonly name: "OperationsStreamService";
readonly fullName: "tinkoff.public.invest.api.contract.v1.OperationsStreamService";
readonly methods: {
/** Server-side stream обновлений портфеля. */
readonly portfolioStream: {
readonly name: "PortfolioStream";
readonly requestType: OperationsUtils.MessageFns<PortfolioStreamRequest>;
readonly requestStream: false;
readonly responseType: OperationsUtils.MessageFns<PortfolioStreamResponse>;
readonly responseStream: true;
readonly options: {};
};
/** Server-side stream обновлений информации по изменению позиций портфеля. */
readonly positionsStream: {
readonly name: "PositionsStream";
readonly requestType: OperationsUtils.MessageFns<PositionsStreamRequest>;
readonly requestStream: false;
readonly responseType: OperationsUtils.MessageFns<PositionsStreamResponse>;
readonly responseStream: true;
readonly options: {};
};
};
};
export interface OperationsStreamServiceImplementation<CallContextExt = {}> {
/** Server-side stream обновлений портфеля. */
portfolioStream(request: PortfolioStreamRequest, context: CallContext & CallContextExt): ServerStreamingMethodResult<DeepPartial<PortfolioStreamResponse>>;
/** Server-side stream обновлений информации по изменению позиций портфеля. */
positionsStream(request: PositionsStreamRequest, context: CallContext & CallContextExt): ServerStreamingMethodResult<DeepPartial<PositionsStreamResponse>>;
}
export interface OperationsStreamServiceClient<CallOptionsExt = {}> {
/** Server-side stream обновлений портфеля. */
portfolioStream(request: DeepPartial<PortfolioStreamRequest>, options?: CallOptions & CallOptionsExt): AsyncIterable<PortfolioStreamResponse>;
/** Server-side stream обновлений информации по изменению позиций портфеля. */
positionsStream(request: DeepPartial<PositionsStreamRequest>, options?: CallOptions & CallOptionsExt): AsyncIterable<PositionsStreamResponse>;
}
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 OperationsUtils {
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 {};