UNPKG

@tinkoff/invest-js

Version:
263 lines (262 loc) 17.7 kB
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { type CallContext, type CallOptions } from "nice-grpc-common"; import { MoneyValue } from "./common"; import { GetOperationsByCursorRequest, GetOperationsByCursorResponse, OperationsRequest, OperationsResponse, PortfolioRequest, PortfolioResponse, PositionsRequest, PositionsResponse, WithdrawLimitsRequest, WithdrawLimitsResponse } from "./operations"; import { CancelOrderRequest, CancelOrderResponse, GetMaxLotsRequest, GetMaxLotsResponse, GetOrdersRequest, GetOrdersResponse, GetOrderStateRequest, OrderState, PostOrderRequest, PostOrderResponse, ReplaceOrderRequest } from "./orders"; import { GetAccountsRequest, GetAccountsResponse } from "./users"; /** Запрос открытия счёта в песочнице. */ export interface OpenSandboxAccountRequest { /** Название счёта */ name?: string | undefined; } /** Номер открытого счёта в песочнице. */ export interface OpenSandboxAccountResponse { /** Номер счёта */ accountId: string; } /** Запрос закрытия счёта в песочнице. */ export interface CloseSandboxAccountRequest { /** Номер счёта */ accountId: string; } /** Результат закрытия счёта в песочнице. */ export interface CloseSandboxAccountResponse { } /** Запрос пополнения счёта в песочнице. */ export interface SandboxPayInRequest { /** Номер счёта */ accountId: string; /** Сумма пополнения счёта в рублях */ amount: MoneyValue | undefined; } /** Результат пополнения счёта, текущий баланс. */ export interface SandboxPayInResponse { /** Текущий баланс счёта */ balance: MoneyValue | undefined; } 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 declare const OpenSandboxAccountRequest: MessageFns<OpenSandboxAccountRequest>; export declare const OpenSandboxAccountResponse: MessageFns<OpenSandboxAccountResponse>; export declare const CloseSandboxAccountRequest: MessageFns<CloseSandboxAccountRequest>; export declare const CloseSandboxAccountResponse: MessageFns<CloseSandboxAccountResponse>; export declare const SandboxPayInRequest: MessageFns<SandboxPayInRequest>; export declare const SandboxPayInResponse: MessageFns<SandboxPayInResponse>; /** Методы для работы с песочницей T-Invest API */ export type SandboxServiceDefinition = typeof SandboxServiceDefinition; export declare const SandboxServiceDefinition: { readonly name: "SandboxService"; readonly fullName: "tinkoff.public.invest.api.contract.v1.SandboxService"; readonly methods: { /** Зарегистрировать счёт. */ readonly openSandboxAccount: { readonly name: "OpenSandboxAccount"; readonly requestType: MessageFns<OpenSandboxAccountRequest>; readonly requestStream: false; readonly responseType: MessageFns<OpenSandboxAccountResponse>; readonly responseStream: false; readonly options: {}; }; /** Получить счета. */ readonly getSandboxAccounts: { readonly name: "GetSandboxAccounts"; readonly requestType: import("./users").MessageFns<GetAccountsRequest>; readonly requestStream: false; readonly responseType: import("./users").MessageFns<GetAccountsResponse>; readonly responseStream: false; readonly options: {}; }; /** Закрыть счёт. */ readonly closeSandboxAccount: { readonly name: "CloseSandboxAccount"; readonly requestType: MessageFns<CloseSandboxAccountRequest>; readonly requestStream: false; readonly responseType: MessageFns<CloseSandboxAccountResponse>; readonly responseStream: false; readonly options: {}; }; /** Выставить торговое поручение. */ readonly postSandboxOrder: { readonly name: "PostSandboxOrder"; readonly requestType: import("./orders").OrdersMessageUtils.MessageFns<PostOrderRequest>; readonly requestStream: false; readonly responseType: import("./orders").OrdersMessageUtils.MessageFns<PostOrderResponse>; readonly responseStream: false; readonly options: {}; }; /** Изменить выставленную заявку. */ readonly replaceSandboxOrder: { readonly name: "ReplaceSandboxOrder"; readonly requestType: import("./orders").OrdersMessageUtils.MessageFns<ReplaceOrderRequest>; readonly requestStream: false; readonly responseType: import("./orders").OrdersMessageUtils.MessageFns<PostOrderResponse>; readonly responseStream: false; readonly options: {}; }; /** Получить список активных заявок по счёту. */ readonly getSandboxOrders: { readonly name: "GetSandboxOrders"; readonly requestType: import("./orders").OrdersMessageUtils.MessageFns<GetOrdersRequest>; readonly requestStream: false; readonly responseType: import("./orders").OrdersMessageUtils.MessageFns<GetOrdersResponse>; readonly responseStream: false; readonly options: {}; }; /** Отменить торговое поручение. */ readonly cancelSandboxOrder: { readonly name: "CancelSandboxOrder"; readonly requestType: import("./orders").OrdersMessageUtils.MessageFns<CancelOrderRequest>; readonly requestStream: false; readonly responseType: import("./orders").OrdersMessageUtils.MessageFns<CancelOrderResponse>; readonly responseStream: false; readonly options: {}; }; /** Поулчить статус заявки в песочнице. Заявки хранятся в таблице 7 дней. */ readonly getSandboxOrderState: { readonly name: "GetSandboxOrderState"; readonly requestType: import("./orders").OrdersMessageUtils.MessageFns<GetOrderStateRequest>; readonly requestStream: false; readonly responseType: import("./orders").OrdersMessageUtils.MessageFns<OrderState>; readonly responseStream: false; readonly options: {}; }; /** Получить позиции по виртуальному счёту. */ readonly getSandboxPositions: { readonly name: "GetSandboxPositions"; readonly requestType: import("./operations").OperationsUtils.MessageFns<PositionsRequest>; readonly requestStream: false; readonly responseType: import("./operations").OperationsUtils.MessageFns<PositionsResponse>; readonly responseStream: false; readonly options: {}; }; /** Получить операции по номеру счёта. */ readonly getSandboxOperations: { readonly name: "GetSandboxOperations"; readonly requestType: import("./operations").OperationsUtils.MessageFns<OperationsRequest>; readonly requestStream: false; readonly responseType: import("./operations").OperationsUtils.MessageFns<OperationsResponse>; readonly responseStream: false; readonly options: {}; }; /** Получить операции по номеру счёта с пагинацией. */ readonly getSandboxOperationsByCursor: { readonly name: "GetSandboxOperationsByCursor"; readonly requestType: import("./operations").OperationsUtils.MessageFns<GetOperationsByCursorRequest>; readonly requestStream: false; readonly responseType: import("./operations").OperationsUtils.MessageFns<GetOperationsByCursorResponse>; readonly responseStream: false; readonly options: {}; }; /** Получить портфель. */ readonly getSandboxPortfolio: { readonly name: "GetSandboxPortfolio"; readonly requestType: import("./operations").OperationsUtils.MessageFns<PortfolioRequest>; readonly requestStream: false; readonly responseType: import("./operations").OperationsUtils.MessageFns<PortfolioResponse>; readonly responseStream: false; readonly options: {}; }; /** Пополнить счёт. */ readonly sandboxPayIn: { readonly name: "SandboxPayIn"; readonly requestType: MessageFns<SandboxPayInRequest>; readonly requestStream: false; readonly responseType: MessageFns<SandboxPayInResponse>; readonly responseStream: false; readonly options: {}; }; /** Получить доступный остаток для вывода средств. */ readonly getSandboxWithdrawLimits: { readonly name: "GetSandboxWithdrawLimits"; readonly requestType: import("./operations").OperationsUtils.MessageFns<WithdrawLimitsRequest>; readonly requestStream: false; readonly responseType: import("./operations").OperationsUtils.MessageFns<WithdrawLimitsResponse>; readonly responseStream: false; readonly options: {}; }; /** Расчёт количества доступных для покупки/продажи лотов в песочнице. */ readonly getSandboxMaxLots: { readonly name: "GetSandboxMaxLots"; readonly requestType: import("./orders").OrdersMessageUtils.MessageFns<GetMaxLotsRequest>; readonly requestStream: false; readonly responseType: import("./orders").OrdersMessageUtils.MessageFns<GetMaxLotsResponse>; readonly responseStream: false; readonly options: {}; }; }; }; export interface SandboxServiceImplementation<CallContextExt = {}> { /** Зарегистрировать счёт. */ openSandboxAccount(request: OpenSandboxAccountRequest, context: CallContext & CallContextExt): Promise<DeepPartial<OpenSandboxAccountResponse>>; /** Получить счета. */ getSandboxAccounts(request: GetAccountsRequest, context: CallContext & CallContextExt): Promise<DeepPartial<GetAccountsResponse>>; /** Закрыть счёт. */ closeSandboxAccount(request: CloseSandboxAccountRequest, context: CallContext & CallContextExt): Promise<DeepPartial<CloseSandboxAccountResponse>>; /** Выставить торговое поручение. */ postSandboxOrder(request: PostOrderRequest, context: CallContext & CallContextExt): Promise<DeepPartial<PostOrderResponse>>; /** Изменить выставленную заявку. */ replaceSandboxOrder(request: ReplaceOrderRequest, context: CallContext & CallContextExt): Promise<DeepPartial<PostOrderResponse>>; /** Получить список активных заявок по счёту. */ getSandboxOrders(request: GetOrdersRequest, context: CallContext & CallContextExt): Promise<DeepPartial<GetOrdersResponse>>; /** Отменить торговое поручение. */ cancelSandboxOrder(request: CancelOrderRequest, context: CallContext & CallContextExt): Promise<DeepPartial<CancelOrderResponse>>; /** Поулчить статус заявки в песочнице. Заявки хранятся в таблице 7 дней. */ getSandboxOrderState(request: GetOrderStateRequest, context: CallContext & CallContextExt): Promise<DeepPartial<OrderState>>; /** Получить позиции по виртуальному счёту. */ getSandboxPositions(request: PositionsRequest, context: CallContext & CallContextExt): Promise<DeepPartial<PositionsResponse>>; /** Получить операции по номеру счёта. */ getSandboxOperations(request: OperationsRequest, context: CallContext & CallContextExt): Promise<DeepPartial<OperationsResponse>>; /** Получить операции по номеру счёта с пагинацией. */ getSandboxOperationsByCursor(request: GetOperationsByCursorRequest, context: CallContext & CallContextExt): Promise<DeepPartial<GetOperationsByCursorResponse>>; /** Получить портфель. */ getSandboxPortfolio(request: PortfolioRequest, context: CallContext & CallContextExt): Promise<DeepPartial<PortfolioResponse>>; /** Пополнить счёт. */ sandboxPayIn(request: SandboxPayInRequest, context: CallContext & CallContextExt): Promise<DeepPartial<SandboxPayInResponse>>; /** Получить доступный остаток для вывода средств. */ getSandboxWithdrawLimits(request: WithdrawLimitsRequest, context: CallContext & CallContextExt): Promise<DeepPartial<WithdrawLimitsResponse>>; /** Расчёт количества доступных для покупки/продажи лотов в песочнице. */ getSandboxMaxLots(request: GetMaxLotsRequest, context: CallContext & CallContextExt): Promise<DeepPartial<GetMaxLotsResponse>>; } export interface SandboxServiceClient<CallOptionsExt = {}> { /** Зарегистрировать счёт. */ openSandboxAccount(request: DeepPartial<OpenSandboxAccountRequest>, options?: CallOptions & CallOptionsExt): Promise<OpenSandboxAccountResponse>; /** Получить счета. */ getSandboxAccounts(request: DeepPartial<GetAccountsRequest>, options?: CallOptions & CallOptionsExt): Promise<GetAccountsResponse>; /** Закрыть счёт. */ closeSandboxAccount(request: DeepPartial<CloseSandboxAccountRequest>, options?: CallOptions & CallOptionsExt): Promise<CloseSandboxAccountResponse>; /** Выставить торговое поручение. */ postSandboxOrder(request: DeepPartial<PostOrderRequest>, options?: CallOptions & CallOptionsExt): Promise<PostOrderResponse>; /** Изменить выставленную заявку. */ replaceSandboxOrder(request: DeepPartial<ReplaceOrderRequest>, options?: CallOptions & CallOptionsExt): Promise<PostOrderResponse>; /** Получить список активных заявок по счёту. */ getSandboxOrders(request: DeepPartial<GetOrdersRequest>, options?: CallOptions & CallOptionsExt): Promise<GetOrdersResponse>; /** Отменить торговое поручение. */ cancelSandboxOrder(request: DeepPartial<CancelOrderRequest>, options?: CallOptions & CallOptionsExt): Promise<CancelOrderResponse>; /** Поулчить статус заявки в песочнице. Заявки хранятся в таблице 7 дней. */ getSandboxOrderState(request: DeepPartial<GetOrderStateRequest>, options?: CallOptions & CallOptionsExt): Promise<OrderState>; /** Получить позиции по виртуальному счёту. */ getSandboxPositions(request: DeepPartial<PositionsRequest>, options?: CallOptions & CallOptionsExt): Promise<PositionsResponse>; /** Получить операции по номеру счёта. */ getSandboxOperations(request: DeepPartial<OperationsRequest>, options?: CallOptions & CallOptionsExt): Promise<OperationsResponse>; /** Получить операции по номеру счёта с пагинацией. */ getSandboxOperationsByCursor(request: DeepPartial<GetOperationsByCursorRequest>, options?: CallOptions & CallOptionsExt): Promise<GetOperationsByCursorResponse>; /** Получить портфель. */ getSandboxPortfolio(request: DeepPartial<PortfolioRequest>, options?: CallOptions & CallOptionsExt): Promise<PortfolioResponse>; /** Пополнить счёт. */ sandboxPayIn(request: DeepPartial<SandboxPayInRequest>, options?: CallOptions & CallOptionsExt): Promise<SandboxPayInResponse>; /** Получить доступный остаток для вывода средств. */ getSandboxWithdrawLimits(request: DeepPartial<WithdrawLimitsRequest>, options?: CallOptions & CallOptionsExt): Promise<WithdrawLimitsResponse>; /** Расчёт количества доступных для покупки/продажи лотов в песочнице. */ getSandboxMaxLots(request: DeepPartial<GetMaxLotsRequest>, options?: CallOptions & CallOptionsExt): Promise<GetMaxLotsResponse>; } 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>; export {};