import { HttpInfo } from '../http/http';
import { Configuration } from '../configuration';
import { Observable } from '../rxjsStub';
import { Address } from '../models/Address';
import { Chain } from '../models/Chain';
import { CreateAddressRequest } from '../models/CreateAddressRequest';
import { CreateEndpoint } from '../models/CreateEndpoint';
import { CreateTokenRequest } from '../models/CreateTokenRequest';
import { CreateTransferRequest } from '../models/CreateTransferRequest';
import { CreateTransferResponse } from '../models/CreateTransferResponse';
import { CreateWalletRequest } from '../models/CreateWalletRequest';
import { CursorPageAddress } from '../models/CursorPageAddress';
import { CursorPageChain } from '../models/CursorPageChain';
import { CursorPageEndpoint } from '../models/CursorPageEndpoint';
import { CursorPageEventType } from '../models/CursorPageEventType';
import { CursorPageToken } from '../models/CursorPageToken';
import { CursorPageTransaction } from '../models/CursorPageTransaction';
import { CursorPageWallet } from '../models/CursorPageWallet';
import { Endpoint } from '../models/Endpoint';
import { EstimateFeeRequest } from '../models/EstimateFeeRequest';
import { EstimateFeeResponse } from '../models/EstimateFeeResponse';
import { SignMessageRequest } from '../models/SignMessageRequest';
import { SignMessageResponse } from '../models/SignMessageResponse';
import { SweepAddressRequest } from '../models/SweepAddressRequest';
import { SweepAddressResponse } from '../models/SweepAddressResponse';
import { Token } from '../models/Token';
import { Transaction } from '../models/Transaction';
import { UpdateEndpoint } from '../models/UpdateEndpoint';
import { UpdateTokenRequest } from '../models/UpdateTokenRequest';
import { UpdateWalletRequest } from '../models/UpdateWalletRequest';
import { ValidateAddressesReply } from '../models/ValidateAddressesReply';
import { Wallet } from '../models/Wallet';
import { AddressesApiRequestFactory, AddressesApiResponseProcessor } from "../apis/AddressesApi";
export declare class ObservableAddressesApi {
    private requestFactory;
    private responseProcessor;
    private configuration;
    constructor(configuration: Configuration, requestFactory?: AddressesApiRequestFactory, responseProcessor?: AddressesApiResponseProcessor);
    v1AddressesListWithHttpInfo(walletIds?: Array<string>, chainIds?: Array<string>, cursor?: string, limit?: number, _options?: Configuration): Observable<HttpInfo<CursorPageAddress>>;
    v1AddressesList(walletIds?: Array<string>, chainIds?: Array<string>, cursor?: string, limit?: number, _options?: Configuration): Observable<CursorPageAddress>;
    v1AddressesValidateWithHttpInfo(chainId: string, addresses: Array<string>, _options?: Configuration): Observable<HttpInfo<ValidateAddressesReply>>;
    v1AddressesValidate(chainId: string, addresses: Array<string>, _options?: Configuration): Observable<ValidateAddressesReply>;
    v1WalletsCreateAddressWithHttpInfo(walletId: string, createAddressRequest: CreateAddressRequest, _options?: Configuration): Observable<HttpInfo<Address>>;
    v1WalletsCreateAddress(walletId: string, createAddressRequest: CreateAddressRequest, _options?: Configuration): Observable<Address>;
    v1WalletsGetAddressWithHttpInfo(walletId: string, address: string, _options?: Configuration): Observable<HttpInfo<Address>>;
    v1WalletsGetAddress(walletId: string, address: string, _options?: Configuration): Observable<Address>;
    v1WalletsListAddressesWithHttpInfo(walletId: string, chainIds?: Array<string>, cursor?: string, limit?: number, _options?: Configuration): Observable<HttpInfo<CursorPageAddress>>;
    v1WalletsListAddresses(walletId: string, chainIds?: Array<string>, cursor?: string, limit?: number, _options?: Configuration): Observable<CursorPageAddress>;
}
import { ChainsApiRequestFactory, ChainsApiResponseProcessor } from "../apis/ChainsApi";
export declare class ObservableChainsApi {
    private requestFactory;
    private responseProcessor;
    private configuration;
    constructor(configuration: Configuration, requestFactory?: ChainsApiRequestFactory, responseProcessor?: ChainsApiResponseProcessor);
    v1ChainsListWithHttpInfo(cursor?: string, limit?: number, _options?: Configuration): Observable<HttpInfo<CursorPageChain>>;
    v1ChainsList(cursor?: string, limit?: number, _options?: Configuration): Observable<CursorPageChain>;
    v1ChainsRetrieveWithHttpInfo(chainId: string, _options?: Configuration): Observable<HttpInfo<Chain>>;
    v1ChainsRetrieve(chainId: string, _options?: Configuration): Observable<Chain>;
}
import { SweepsApiRequestFactory, SweepsApiResponseProcessor } from "../apis/SweepsApi";
export declare class ObservableSweepsApi {
    private requestFactory;
    private responseProcessor;
    private configuration;
    constructor(configuration: Configuration, requestFactory?: SweepsApiRequestFactory, responseProcessor?: SweepsApiResponseProcessor);
    v1SweepsAddressWithHttpInfo(address: string, sweepAddressRequest: SweepAddressRequest, _options?: Configuration): Observable<HttpInfo<SweepAddressResponse>>;
    v1SweepsAddress(address: string, sweepAddressRequest: SweepAddressRequest, _options?: Configuration): Observable<SweepAddressResponse>;
}
import { TokensApiRequestFactory, TokensApiResponseProcessor } from "../apis/TokensApi";
export declare class ObservableTokensApi {
    private requestFactory;
    private responseProcessor;
    private configuration;
    constructor(configuration: Configuration, requestFactory?: TokensApiRequestFactory, responseProcessor?: TokensApiResponseProcessor);
    v1TokensCreateWithHttpInfo(createTokenRequest: CreateTokenRequest, _options?: Configuration): Observable<HttpInfo<Token>>;
    v1TokensCreate(createTokenRequest: CreateTokenRequest, _options?: Configuration): Observable<Token>;
    v1TokensListWithHttpInfo(cursor?: string, limit?: number, _options?: Configuration): Observable<HttpInfo<CursorPageToken>>;
    v1TokensList(cursor?: string, limit?: number, _options?: Configuration): Observable<CursorPageToken>;
    v1TokensRetrieveWithHttpInfo(tokenId: string, _options?: Configuration): Observable<HttpInfo<Token>>;
    v1TokensRetrieve(tokenId: string, _options?: Configuration): Observable<Token>;
    v1TokensUpdateWithHttpInfo(tokenId: string, updateTokenRequest: UpdateTokenRequest, _options?: Configuration): Observable<HttpInfo<Token>>;
    v1TokensUpdate(tokenId: string, updateTokenRequest: UpdateTokenRequest, _options?: Configuration): Observable<Token>;
}
import { TransactionsApiRequestFactory, TransactionsApiResponseProcessor } from "../apis/TransactionsApi";
export declare class ObservableTransactionsApi {
    private requestFactory;
    private responseProcessor;
    private configuration;
    constructor(configuration: Configuration, requestFactory?: TransactionsApiRequestFactory, responseProcessor?: TransactionsApiResponseProcessor);
    v1TransactionsEstimateFeeWithHttpInfo(estimateFeeRequest: EstimateFeeRequest, _options?: Configuration): Observable<HttpInfo<EstimateFeeResponse>>;
    v1TransactionsEstimateFee(estimateFeeRequest: EstimateFeeRequest, _options?: Configuration): Observable<EstimateFeeResponse>;
    v1TransactionsListWithHttpInfo(walletIds?: Array<string>, chainIds?: Array<string>, tokenIds?: Array<string>, assetIds?: Array<string>, hash?: string, status?: string, cursor?: string, limit?: number, _options?: Configuration): Observable<HttpInfo<CursorPageTransaction>>;
    v1TransactionsList(walletIds?: Array<string>, chainIds?: Array<string>, tokenIds?: Array<string>, assetIds?: Array<string>, hash?: string, status?: string, cursor?: string, limit?: number, _options?: Configuration): Observable<CursorPageTransaction>;
    v1TransactionsRetrieveWithHttpInfo(transactionId: string, _options?: Configuration): Observable<HttpInfo<Transaction>>;
    v1TransactionsRetrieve(transactionId: string, _options?: Configuration): Observable<Transaction>;
    v1TransactionsSignMessageWithHttpInfo(signMessageRequest: SignMessageRequest, _options?: Configuration): Observable<HttpInfo<SignMessageResponse>>;
    v1TransactionsSignMessage(signMessageRequest: SignMessageRequest, _options?: Configuration): Observable<SignMessageResponse>;
    v1TransactionsTransferWithHttpInfo(createTransferRequest: CreateTransferRequest, _options?: Configuration): Observable<HttpInfo<CreateTransferResponse>>;
    v1TransactionsTransfer(createTransferRequest: CreateTransferRequest, _options?: Configuration): Observable<CreateTransferResponse>;
}
import { WalletsApiRequestFactory, WalletsApiResponseProcessor } from "../apis/WalletsApi";
export declare class ObservableWalletsApi {
    private requestFactory;
    private responseProcessor;
    private configuration;
    constructor(configuration: Configuration, requestFactory?: WalletsApiRequestFactory, responseProcessor?: WalletsApiResponseProcessor);
    v1WalletsCreateWithHttpInfo(createWalletRequest: CreateWalletRequest, _options?: Configuration): Observable<HttpInfo<Wallet>>;
    v1WalletsCreate(createWalletRequest: CreateWalletRequest, _options?: Configuration): Observable<Wallet>;
    v1WalletsDeleteWithHttpInfo(walletId: string, _options?: Configuration): Observable<HttpInfo<Wallet>>;
    v1WalletsDelete(walletId: string, _options?: Configuration): Observable<Wallet>;
    v1WalletsListWithHttpInfo(cursor?: string, limit?: number, _options?: Configuration): Observable<HttpInfo<CursorPageWallet>>;
    v1WalletsList(cursor?: string, limit?: number, _options?: Configuration): Observable<CursorPageWallet>;
    v1WalletsRetrieveWithHttpInfo(walletId: string, _options?: Configuration): Observable<HttpInfo<Wallet>>;
    v1WalletsRetrieve(walletId: string, _options?: Configuration): Observable<Wallet>;
    v1WalletsUpdateWithHttpInfo(walletId: string, updateWalletRequest: UpdateWalletRequest, _options?: Configuration): Observable<HttpInfo<Wallet>>;
    v1WalletsUpdate(walletId: string, updateWalletRequest: UpdateWalletRequest, _options?: Configuration): Observable<Wallet>;
}
import { WebhookEndpointsApiRequestFactory, WebhookEndpointsApiResponseProcessor } from "../apis/WebhookEndpointsApi";
export declare class ObservableWebhookEndpointsApi {
    private requestFactory;
    private responseProcessor;
    private configuration;
    constructor(configuration: Configuration, requestFactory?: WebhookEndpointsApiRequestFactory, responseProcessor?: WebhookEndpointsApiResponseProcessor);
    v1WebhooksEndpointCreateWithHttpInfo(createEndpoint: CreateEndpoint, _options?: Configuration): Observable<HttpInfo<Endpoint>>;
    v1WebhooksEndpointCreate(createEndpoint: CreateEndpoint, _options?: Configuration): Observable<Endpoint>;
    v1WebhooksEndpointDeleteWithHttpInfo(endpointId: string, _options?: Configuration): Observable<HttpInfo<Endpoint>>;
    v1WebhooksEndpointDelete(endpointId: string, _options?: Configuration): Observable<Endpoint>;
    v1WebhooksEndpointListWithHttpInfo(cursor?: string, limit?: number, _options?: Configuration): Observable<HttpInfo<CursorPageEndpoint>>;
    v1WebhooksEndpointList(cursor?: string, limit?: number, _options?: Configuration): Observable<CursorPageEndpoint>;
    v1WebhooksEndpointRetrieveWithHttpInfo(endpointId: string, _options?: Configuration): Observable<HttpInfo<Endpoint>>;
    v1WebhooksEndpointRetrieve(endpointId: string, _options?: Configuration): Observable<Endpoint>;
    v1WebhooksEndpointUpdateWithHttpInfo(endpointId: string, updateEndpoint: UpdateEndpoint, _options?: Configuration): Observable<HttpInfo<Endpoint>>;
    v1WebhooksEndpointUpdate(endpointId: string, updateEndpoint: UpdateEndpoint, _options?: Configuration): Observable<Endpoint>;
}
import { WebhookEventsApiRequestFactory, WebhookEventsApiResponseProcessor } from "../apis/WebhookEventsApi";
export declare class ObservableWebhookEventsApi {
    private requestFactory;
    private responseProcessor;
    private configuration;
    constructor(configuration: Configuration, requestFactory?: WebhookEventsApiRequestFactory, responseProcessor?: WebhookEventsApiResponseProcessor);
    v1WebhooksEventsListWithHttpInfo(cursor?: string, limit?: number, _options?: Configuration): Observable<HttpInfo<CursorPageEventType>>;
    v1WebhooksEventsList(cursor?: string, limit?: number, _options?: Configuration): Observable<CursorPageEventType>;
}
