import type { CallContext, CallOptions } from "nice-grpc-common";
import _m0 from "protobufjs/minimal.js";
import { MoneyValue, Quotation } from "./common.js";
export declare const protobufPackage = "tinkoff.public.invest.api.contract.v1";
/** Тип счeта. */
export declare enum AccountType {
    /** ACCOUNT_TYPE_UNSPECIFIED - Тип аккаунта не определeн. */
    ACCOUNT_TYPE_UNSPECIFIED = 0,
    /** ACCOUNT_TYPE_TINKOFF - Брокерский счeт Т-Инвестиций. */
    ACCOUNT_TYPE_TINKOFF = 1,
    /** ACCOUNT_TYPE_TINKOFF_IIS - ИИС. */
    ACCOUNT_TYPE_TINKOFF_IIS = 2,
    /** ACCOUNT_TYPE_INVEST_BOX - Инвесткопилка. */
    ACCOUNT_TYPE_INVEST_BOX = 3,
    /** ACCOUNT_TYPE_INVEST_FUND - Фонд денежного рынка. */
    ACCOUNT_TYPE_INVEST_FUND = 4,
    /** ACCOUNT_TYPE_DEBIT - Дебетовый карточный счeт. */
    ACCOUNT_TYPE_DEBIT = 5,
    /** ACCOUNT_TYPE_SAVING - Накопительный счeт. */
    ACCOUNT_TYPE_SAVING = 6,
    /** ACCOUNT_TYPE_DFA - Смарт-счет. */
    ACCOUNT_TYPE_DFA = 7,
    UNRECOGNIZED = -1
}
export declare function accountTypeFromJSON(object: any): AccountType;
export declare function accountTypeToJSON(object: AccountType): string;
/** Статус счeта. */
export declare enum AccountStatus {
    /** ACCOUNT_STATUS_UNSPECIFIED - Статус счeта не определeн. */
    ACCOUNT_STATUS_UNSPECIFIED = 0,
    /** ACCOUNT_STATUS_NEW - Новый, в процессе открытия. */
    ACCOUNT_STATUS_NEW = 1,
    /** ACCOUNT_STATUS_OPEN - Открытый и активный счeт. */
    ACCOUNT_STATUS_OPEN = 2,
    /** ACCOUNT_STATUS_CLOSED - Закрытый счeт. */
    ACCOUNT_STATUS_CLOSED = 3,
    /** ACCOUNT_STATUS_ALL - Все счета. */
    ACCOUNT_STATUS_ALL = 4,
    UNRECOGNIZED = -1
}
export declare function accountStatusFromJSON(object: any): AccountStatus;
export declare function accountStatusToJSON(object: AccountStatus): string;
/** Уровень доступа к счeту. */
export declare enum AccessLevel {
    /** ACCOUNT_ACCESS_LEVEL_UNSPECIFIED - Уровень доступа не определeн. */
    ACCOUNT_ACCESS_LEVEL_UNSPECIFIED = 0,
    /** ACCOUNT_ACCESS_LEVEL_FULL_ACCESS - Полный доступ к счeту. */
    ACCOUNT_ACCESS_LEVEL_FULL_ACCESS = 1,
    /** ACCOUNT_ACCESS_LEVEL_READ_ONLY - Доступ с уровнем прав «только чтение». */
    ACCOUNT_ACCESS_LEVEL_READ_ONLY = 2,
    /** ACCOUNT_ACCESS_LEVEL_NO_ACCESS - Доступа нет. */
    ACCOUNT_ACCESS_LEVEL_NO_ACCESS = 3,
    UNRECOGNIZED = -1
}
export declare function accessLevelFromJSON(object: any): AccessLevel;
export declare function accessLevelToJSON(object: AccessLevel): string;
export declare enum AccountValue {
    /** ACCOUNT_VALUE_UNSPECIFIED - Не определён. */
    ACCOUNT_VALUE_UNSPECIFIED = 0,
    /** ACCOUNT_VALUE_MARGIN_FEE - Размер комиссии за маржинальное кредитование. */
    ACCOUNT_VALUE_MARGIN_FEE = 1,
    /** ACCOUNT_VALUE_AMOUNT_WITHOUT_EXTRA_FEE - Остаток доступного лимита с текущей комиссией. */
    ACCOUNT_VALUE_AMOUNT_WITHOUT_EXTRA_FEE = 2,
    UNRECOGNIZED = -1
}
export declare function accountValueFromJSON(object: any): AccountValue;
export declare function accountValueToJSON(object: AccountValue): string;
/** Запрос получения счетов пользователя. */
export interface GetAccountsRequest {
    /** Статус счета. */
    status?: AccountStatus | undefined;
}
/** Список счетов пользователя. */
export interface GetAccountsResponse {
    /** Массив счетов клиента. */
    accounts: Account[];
}
/** Информация о счeте. */
export interface Account {
    /** Идентификатор счeта. */
    id: string;
    /** Тип счeта. */
    type: AccountType;
    /** Название счeта. */
    name: string;
    /** Статус счeта. */
    status: AccountStatus;
    /** Дата открытия счeта в часовом поясе UTC. */
    openedDate?: Date | undefined;
    /** Дата закрытия счeта в часовом поясе UTC. */
    closedDate?: Date | undefined;
    /** Уровень доступа к текущему счeту (определяется токеном). */
    accessLevel: AccessLevel;
}
/** Запрос маржинальных показателей по счeту. */
export interface GetMarginAttributesRequest {
    /** Идентификатор счeта пользователя. */
    accountId: string;
}
/** Маржинальные показатели по счeту. */
export interface GetMarginAttributesResponse {
    /** Ликвидная стоимость портфеля. [Подробнее про ликвидный портфель](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q4). */
    liquidPortfolio?: MoneyValue | undefined;
    /** Начальная маржа — начальное обеспечение для совершения новой сделки. [Подробнее про начальную и минимальную маржу](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q6). */
    startingMargin?: MoneyValue | undefined;
    /** Минимальная маржа — это минимальное обеспечение для поддержания позиции, которую вы уже открыли. [Подробнее про начальную и минимальную маржу](https://www.tbank.ru/invest/help/brokerage/account/margin/about/#q6). */
    minimalMargin?: MoneyValue | undefined;
    /** Уровень достаточности средств. Соотношение стоимости ликвидного портфеля к начальной марже. */
    fundsSufficiencyLevel?: Quotation | undefined;
    /** Объем недостающих средств. Разница между стартовой маржой и ликвидной стоимости портфеля. */
    amountOfMissingFunds?: MoneyValue | undefined;
    /** Скорректированная маржа. Начальная маржа, в которой плановые позиции рассчитываются с учeтом активных заявок на покупку позиций лонг или продажу позиций шорт. */
    correctedMargin?: MoneyValue | undefined;
    /** Размер гарантийного обеспечения, заблокированного под фьючерсы. */
    guaranteeForFutures?: MoneyValue | undefined;
}
/** Запрос текущих лимитов пользователя. */
export interface GetUserTariffRequest {
}
/** Текущие лимиты пользователя. */
export interface GetUserTariffResponse {
    /** Массив лимитов пользователя по unary-запросам. */
    unaryLimits: UnaryLimit[];
    /** Массив лимитов пользователей для stream-соединений. */
    streamLimits: StreamLimit[];
}
/** Лимит unary-методов. */
export interface UnaryLimit {
    /** Количество unary-запросов в минуту. */
    limitPerMinute: number;
    /** Названия методов. */
    methods: string[];
    /** Количество unary-запросов в секунду. */
    limitPerSecond?: number | undefined;
}
/** Лимит stream-соединений. */
export interface StreamLimit {
    /** Максимальное количество stream-соединений. */
    limit: number;
    /** Названия stream-методов. */
    streams: string[];
    /** Текущее количество открытых stream-соединений. */
    open: number;
}
/** Запрос информации о пользователе. */
export interface GetInfoRequest {
}
/** Информация о пользователе. */
export interface GetInfoResponse {
    /** Признак премиум клиента. */
    premStatus: boolean;
    /** Признак квалифицированного инвестора. */
    qualStatus: boolean;
    /** Набор требующих тестирования инструментов и возможностей, с которыми может работать пользователь. [Подробнее](/invest/services/accounts/faq_users). */
    qualifiedForWorkWith: string[];
    /** Наименование тарифа пользователя. */
    tariff: string;
    /** Идентификатор пользователя. */
    userId: string;
    /** Категория риска. */
    riskLevelCode: string;
}
/** Запрос списка банковских счетов пользователя. */
export interface GetBankAccountsRequest {
}
/** Список банковских счетов пользователя. */
export interface GetBankAccountsResponse {
    /** Массив банковских счетов. */
    bankAccounts: BankAccount[];
}
/** Банковский счeт. */
export interface BankAccount {
    /** Идентификатор счeта. */
    id: string;
    /** Название счeта. */
    name: string;
    /** Список валютных позиций на счeте. */
    money: MoneyValue[];
    /** Дата открытия счeта в часовом поясе UTC. */
    openedDate?: Date | undefined;
    /** Тип счeта. */
    type: AccountType;
}
export interface CurrencyTransferRequest {
    /** Номер счета списания. */
    fromAccountId: string;
    /** Номер счета зачисления. */
    toAccountId: string;
    /** Сумма перевода с указанием валюты. */
    amount?: MoneyValue | undefined;
    /** Идентификатор запроса выставления поручения для целей идемпотентности в формате UUID. */
    transactionId: string;
}
export interface CurrencyTransferResponse {
}
export interface PayInRequest {
    /** Номер счета списания. */
    fromAccountId: string;
    /** Номер брокерского счета зачисления. */
    toAccountId: string;
    /** Сумма перевода с указанием валюты. */
    amount?: MoneyValue | undefined;
}
export interface PayInResponse {
}
export interface GetAccountValuesRequest {
    /** Массив счетов пользователя. */
    accounts: string[];
    /** Массив запрашиваемых параметров. */
    values: AccountValue[];
}
export interface GetAccountValuesResponse {
    /** Массив счетов с параметрами. */
    accounts: AccountValuesWithParameters[];
}
export interface AccountValuesWithParameters {
    /** Номер счета. */
    accountId: string;
    /** Массив параметров инструмента. */
    values: InstrumentParameter[];
}
export interface InstrumentParameter {
    /** Тип запрашиваемого параметра. */
    name: AccountValue;
    /** Значение запрашиваемого параметра. */
    value?: MoneyValue | undefined;
}
export declare const GetAccountsRequest: {
    encode(message: GetAccountsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetAccountsRequest;
    fromJSON(object: any): GetAccountsRequest;
    toJSON(message: GetAccountsRequest): unknown;
};
export declare const GetAccountsResponse: {
    encode(message: GetAccountsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetAccountsResponse;
    fromJSON(object: any): GetAccountsResponse;
    toJSON(message: GetAccountsResponse): unknown;
};
export declare const Account: {
    encode(message: Account, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Account;
    fromJSON(object: any): Account;
    toJSON(message: Account): unknown;
};
export declare const GetMarginAttributesRequest: {
    encode(message: GetMarginAttributesRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetMarginAttributesRequest;
    fromJSON(object: any): GetMarginAttributesRequest;
    toJSON(message: GetMarginAttributesRequest): unknown;
};
export declare const GetMarginAttributesResponse: {
    encode(message: GetMarginAttributesResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetMarginAttributesResponse;
    fromJSON(object: any): GetMarginAttributesResponse;
    toJSON(message: GetMarginAttributesResponse): unknown;
};
export declare const GetUserTariffRequest: {
    encode(_: GetUserTariffRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetUserTariffRequest;
    fromJSON(_: any): GetUserTariffRequest;
    toJSON(_: GetUserTariffRequest): unknown;
};
export declare const GetUserTariffResponse: {
    encode(message: GetUserTariffResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetUserTariffResponse;
    fromJSON(object: any): GetUserTariffResponse;
    toJSON(message: GetUserTariffResponse): unknown;
};
export declare const UnaryLimit: {
    encode(message: UnaryLimit, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): UnaryLimit;
    fromJSON(object: any): UnaryLimit;
    toJSON(message: UnaryLimit): unknown;
};
export declare const StreamLimit: {
    encode(message: StreamLimit, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): StreamLimit;
    fromJSON(object: any): StreamLimit;
    toJSON(message: StreamLimit): unknown;
};
export declare const GetInfoRequest: {
    encode(_: GetInfoRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetInfoRequest;
    fromJSON(_: any): GetInfoRequest;
    toJSON(_: GetInfoRequest): unknown;
};
export declare const GetInfoResponse: {
    encode(message: GetInfoResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetInfoResponse;
    fromJSON(object: any): GetInfoResponse;
    toJSON(message: GetInfoResponse): unknown;
};
export declare const GetBankAccountsRequest: {
    encode(_: GetBankAccountsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetBankAccountsRequest;
    fromJSON(_: any): GetBankAccountsRequest;
    toJSON(_: GetBankAccountsRequest): unknown;
};
export declare const GetBankAccountsResponse: {
    encode(message: GetBankAccountsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetBankAccountsResponse;
    fromJSON(object: any): GetBankAccountsResponse;
    toJSON(message: GetBankAccountsResponse): unknown;
};
export declare const BankAccount: {
    encode(message: BankAccount, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BankAccount;
    fromJSON(object: any): BankAccount;
    toJSON(message: BankAccount): unknown;
};
export declare const CurrencyTransferRequest: {
    encode(message: CurrencyTransferRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CurrencyTransferRequest;
    fromJSON(object: any): CurrencyTransferRequest;
    toJSON(message: CurrencyTransferRequest): unknown;
};
export declare const CurrencyTransferResponse: {
    encode(_: CurrencyTransferResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CurrencyTransferResponse;
    fromJSON(_: any): CurrencyTransferResponse;
    toJSON(_: CurrencyTransferResponse): unknown;
};
export declare const PayInRequest: {
    encode(message: PayInRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): PayInRequest;
    fromJSON(object: any): PayInRequest;
    toJSON(message: PayInRequest): unknown;
};
export declare const PayInResponse: {
    encode(_: PayInResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): PayInResponse;
    fromJSON(_: any): PayInResponse;
    toJSON(_: PayInResponse): unknown;
};
export declare const GetAccountValuesRequest: {
    encode(message: GetAccountValuesRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetAccountValuesRequest;
    fromJSON(object: any): GetAccountValuesRequest;
    toJSON(message: GetAccountValuesRequest): unknown;
};
export declare const GetAccountValuesResponse: {
    encode(message: GetAccountValuesResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetAccountValuesResponse;
    fromJSON(object: any): GetAccountValuesResponse;
    toJSON(message: GetAccountValuesResponse): unknown;
};
export declare const AccountValuesWithParameters: {
    encode(message: AccountValuesWithParameters, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): AccountValuesWithParameters;
    fromJSON(object: any): AccountValuesWithParameters;
    toJSON(message: AccountValuesWithParameters): unknown;
};
export declare const InstrumentParameter: {
    encode(message: InstrumentParameter, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): InstrumentParameter;
    fromJSON(object: any): InstrumentParameter;
    toJSON(message: InstrumentParameter): unknown;
};
/**
 * С помощью сервиса можно получить: <br/> 1.
 * список счетов пользователя; <br/> 2. маржинальные показатели по счeту.
 */
export type UsersServiceDefinition = typeof UsersServiceDefinition;
export declare const UsersServiceDefinition: {
    readonly name: "UsersService";
    readonly fullName: "tinkoff.public.invest.api.contract.v1.UsersService";
    readonly methods: {
        /**
         * GetAccounts — счета пользователя
         * Получить список счетов.
         */
        readonly getAccounts: {
            readonly name: "GetAccounts";
            readonly requestType: {
                encode(message: GetAccountsRequest, writer?: _m0.Writer): _m0.Writer;
                decode(input: _m0.Reader | Uint8Array, length?: number): GetAccountsRequest;
                fromJSON(object: any): GetAccountsRequest;
                toJSON(message: GetAccountsRequest): unknown;
            };
            readonly requestStream: false;
            readonly responseType: {
                encode(message: GetAccountsResponse, writer?: _m0.Writer): _m0.Writer;
                decode(input: _m0.Reader | Uint8Array, length?: number): GetAccountsResponse;
                fromJSON(object: any): GetAccountsResponse;
                toJSON(message: GetAccountsResponse): unknown;
            };
            readonly responseStream: false;
            readonly options: {};
        };
        /**
         * GetMarginAttributes — маржинальные показатели по счeту
         * Метод позволяет получить маржинальные показатели и ликвидность по заданному счeту.
         */
        readonly getMarginAttributes: {
            readonly name: "GetMarginAttributes";
            readonly requestType: {
                encode(message: GetMarginAttributesRequest, writer?: _m0.Writer): _m0.Writer;
                decode(input: _m0.Reader | Uint8Array, length?: number): GetMarginAttributesRequest;
                fromJSON(object: any): GetMarginAttributesRequest;
                toJSON(message: GetMarginAttributesRequest): unknown;
            };
            readonly requestStream: false;
            readonly responseType: {
                encode(message: GetMarginAttributesResponse, writer?: _m0.Writer): _m0.Writer;
                decode(input: _m0.Reader | Uint8Array, length?: number): GetMarginAttributesResponse;
                fromJSON(object: any): GetMarginAttributesResponse;
                toJSON(message: GetMarginAttributesResponse): unknown;
            };
            readonly responseStream: false;
            readonly options: {};
        };
        /**
         * GetUserTariff — тариф пользователя
         * Получить информацию о текущих лимитах на подклчение, согласно текущему тарифу пользователя.
         */
        readonly getUserTariff: {
            readonly name: "GetUserTariff";
            readonly requestType: {
                encode(_: GetUserTariffRequest, writer?: _m0.Writer): _m0.Writer;
                decode(input: _m0.Reader | Uint8Array, length?: number): GetUserTariffRequest;
                fromJSON(_: any): GetUserTariffRequest;
                toJSON(_: GetUserTariffRequest): unknown;
            };
            readonly requestStream: false;
            readonly responseType: {
                encode(message: GetUserTariffResponse, writer?: _m0.Writer): _m0.Writer;
                decode(input: _m0.Reader | Uint8Array, length?: number): GetUserTariffResponse;
                fromJSON(object: any): GetUserTariffResponse;
                toJSON(message: GetUserTariffResponse): unknown;
            };
            readonly responseStream: false;
            readonly options: {};
        };
        /**
         * GetInfo — информация о пользователе
         * Получить информацию о пользователе: тариф, признак квалификации, пройденные тесты и др.
         */
        readonly getInfo: {
            readonly name: "GetInfo";
            readonly requestType: {
                encode(_: GetInfoRequest, writer?: _m0.Writer): _m0.Writer;
                decode(input: _m0.Reader | Uint8Array, length?: number): GetInfoRequest;
                fromJSON(_: any): GetInfoRequest;
                toJSON(_: GetInfoRequest): unknown;
            };
            readonly requestStream: false;
            readonly responseType: {
                encode(message: GetInfoResponse, writer?: _m0.Writer): _m0.Writer;
                decode(input: _m0.Reader | Uint8Array, length?: number): GetInfoResponse;
                fromJSON(object: any): GetInfoResponse;
                toJSON(message: GetInfoResponse): unknown;
            };
            readonly responseStream: false;
            readonly options: {};
        };
        /**
         * GetBankAccounts — банковские счета пользователя
         * Получить список счетов пользователя, в том числе и банковских.
         */
        readonly getBankAccounts: {
            readonly name: "GetBankAccounts";
            readonly requestType: {
                encode(_: GetBankAccountsRequest, writer?: _m0.Writer): _m0.Writer;
                decode(input: _m0.Reader | Uint8Array, length?: number): GetBankAccountsRequest;
                fromJSON(_: any): GetBankAccountsRequest;
                toJSON(_: GetBankAccountsRequest): unknown;
            };
            readonly requestStream: false;
            readonly responseType: {
                encode(message: GetBankAccountsResponse, writer?: _m0.Writer): _m0.Writer;
                decode(input: _m0.Reader | Uint8Array, length?: number): GetBankAccountsResponse;
                fromJSON(object: any): GetBankAccountsResponse;
                toJSON(message: GetBankAccountsResponse): unknown;
            };
            readonly responseStream: false;
            readonly options: {};
        };
        /**
         * CurrencyTransfer — перевод денежных средств между счетами
         * Перевести денежные средства между брокерскими счетами
         */
        readonly currencyTransfer: {
            readonly name: "CurrencyTransfer";
            readonly requestType: {
                encode(message: CurrencyTransferRequest, writer?: _m0.Writer): _m0.Writer;
                decode(input: _m0.Reader | Uint8Array, length?: number): CurrencyTransferRequest;
                fromJSON(object: any): CurrencyTransferRequest;
                toJSON(message: CurrencyTransferRequest): unknown;
            };
            readonly requestStream: false;
            readonly responseType: {
                encode(_: CurrencyTransferResponse, writer?: _m0.Writer): _m0.Writer;
                decode(input: _m0.Reader | Uint8Array, length?: number): CurrencyTransferResponse;
                fromJSON(_: any): CurrencyTransferResponse;
                toJSON(_: CurrencyTransferResponse): unknown;
            };
            readonly responseStream: false;
            readonly options: {};
        };
        /**
         * PayIn — пополнение брокерского счета
         * Пополнить брокерский счёт с банковского
         */
        readonly payIn: {
            readonly name: "PayIn";
            readonly requestType: {
                encode(message: PayInRequest, writer?: _m0.Writer): _m0.Writer;
                decode(input: _m0.Reader | Uint8Array, length?: number): PayInRequest;
                fromJSON(object: any): PayInRequest;
                toJSON(message: PayInRequest): unknown;
            };
            readonly requestStream: false;
            readonly responseType: {
                encode(_: PayInResponse, writer?: _m0.Writer): _m0.Writer;
                decode(input: _m0.Reader | Uint8Array, length?: number): PayInResponse;
                fromJSON(_: any): PayInResponse;
                toJSON(_: PayInResponse): unknown;
            };
            readonly responseStream: false;
            readonly options: {};
        };
        /**
         * GetAccountValues — дополнительные показатели счетов
         * Метод предназначен для получения дополнительных показателей счетов
         */
        readonly getAccountValues: {
            readonly name: "GetAccountValues";
            readonly requestType: {
                encode(message: GetAccountValuesRequest, writer?: _m0.Writer): _m0.Writer;
                decode(input: _m0.Reader | Uint8Array, length?: number): GetAccountValuesRequest;
                fromJSON(object: any): GetAccountValuesRequest;
                toJSON(message: GetAccountValuesRequest): unknown;
            };
            readonly requestStream: false;
            readonly responseType: {
                encode(message: GetAccountValuesResponse, writer?: _m0.Writer): _m0.Writer;
                decode(input: _m0.Reader | Uint8Array, length?: number): GetAccountValuesResponse;
                fromJSON(object: any): GetAccountValuesResponse;
                toJSON(message: GetAccountValuesResponse): unknown;
            };
            readonly responseStream: false;
            readonly options: {};
        };
    };
};
export interface UsersServiceImplementation<CallContextExt = {}> {
    /**
     * GetAccounts — счета пользователя
     * Получить список счетов.
     */
    getAccounts(request: GetAccountsRequest, context: CallContext & CallContextExt): Promise<GetAccountsResponse>;
    /**
     * GetMarginAttributes — маржинальные показатели по счeту
     * Метод позволяет получить маржинальные показатели и ликвидность по заданному счeту.
     */
    getMarginAttributes(request: GetMarginAttributesRequest, context: CallContext & CallContextExt): Promise<GetMarginAttributesResponse>;
    /**
     * GetUserTariff — тариф пользователя
     * Получить информацию о текущих лимитах на подклчение, согласно текущему тарифу пользователя.
     */
    getUserTariff(request: GetUserTariffRequest, context: CallContext & CallContextExt): Promise<GetUserTariffResponse>;
    /**
     * GetInfo — информация о пользователе
     * Получить информацию о пользователе: тариф, признак квалификации, пройденные тесты и др.
     */
    getInfo(request: GetInfoRequest, context: CallContext & CallContextExt): Promise<GetInfoResponse>;
    /**
     * GetBankAccounts — банковские счета пользователя
     * Получить список счетов пользователя, в том числе и банковских.
     */
    getBankAccounts(request: GetBankAccountsRequest, context: CallContext & CallContextExt): Promise<GetBankAccountsResponse>;
    /**
     * CurrencyTransfer — перевод денежных средств между счетами
     * Перевести денежные средства между брокерскими счетами
     */
    currencyTransfer(request: CurrencyTransferRequest, context: CallContext & CallContextExt): Promise<CurrencyTransferResponse>;
    /**
     * PayIn — пополнение брокерского счета
     * Пополнить брокерский счёт с банковского
     */
    payIn(request: PayInRequest, context: CallContext & CallContextExt): Promise<PayInResponse>;
    /**
     * GetAccountValues — дополнительные показатели счетов
     * Метод предназначен для получения дополнительных показателей счетов
     */
    getAccountValues(request: GetAccountValuesRequest, context: CallContext & CallContextExt): Promise<GetAccountValuesResponse>;
}
export interface UsersServiceClient<CallOptionsExt = {}> {
    /**
     * GetAccounts — счета пользователя
     * Получить список счетов.
     */
    getAccounts(request: GetAccountsRequest, options?: CallOptions & CallOptionsExt): Promise<GetAccountsResponse>;
    /**
     * GetMarginAttributes — маржинальные показатели по счeту
     * Метод позволяет получить маржинальные показатели и ликвидность по заданному счeту.
     */
    getMarginAttributes(request: GetMarginAttributesRequest, options?: CallOptions & CallOptionsExt): Promise<GetMarginAttributesResponse>;
    /**
     * GetUserTariff — тариф пользователя
     * Получить информацию о текущих лимитах на подклчение, согласно текущему тарифу пользователя.
     */
    getUserTariff(request: GetUserTariffRequest, options?: CallOptions & CallOptionsExt): Promise<GetUserTariffResponse>;
    /**
     * GetInfo — информация о пользователе
     * Получить информацию о пользователе: тариф, признак квалификации, пройденные тесты и др.
     */
    getInfo(request: GetInfoRequest, options?: CallOptions & CallOptionsExt): Promise<GetInfoResponse>;
    /**
     * GetBankAccounts — банковские счета пользователя
     * Получить список счетов пользователя, в том числе и банковских.
     */
    getBankAccounts(request: GetBankAccountsRequest, options?: CallOptions & CallOptionsExt): Promise<GetBankAccountsResponse>;
    /**
     * CurrencyTransfer — перевод денежных средств между счетами
     * Перевести денежные средства между брокерскими счетами
     */
    currencyTransfer(request: CurrencyTransferRequest, options?: CallOptions & CallOptionsExt): Promise<CurrencyTransferResponse>;
    /**
     * PayIn — пополнение брокерского счета
     * Пополнить брокерский счёт с банковского
     */
    payIn(request: PayInRequest, options?: CallOptions & CallOptionsExt): Promise<PayInResponse>;
    /**
     * GetAccountValues — дополнительные показатели счетов
     * Метод предназначен для получения дополнительных показателей счетов
     */
    getAccountValues(request: GetAccountValuesRequest, options?: CallOptions & CallOptionsExt): Promise<GetAccountValuesResponse>;
}
//# sourceMappingURL=users.d.ts.map