import { HttpInfo } from '../http/http';
import { Configuration } from '../configuration';
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 interface AddressesApiV1AddressesListRequest {
    walletIds?: Array<string>;
    chainIds?: Array<string>;
    cursor?: string;
    limit?: number;
}
export interface AddressesApiV1AddressesValidateRequest {
    chainId: string;
    addresses: Array<string>;
}
export interface AddressesApiV1WalletsCreateAddressRequest {
    walletId: string;
    createAddressRequest: CreateAddressRequest;
}
export interface AddressesApiV1WalletsGetAddressRequest {
    walletId: string;
    address: string;
}
export interface AddressesApiV1WalletsListAddressesRequest {
    walletId: string;
    chainIds?: Array<string>;
    cursor?: string;
    limit?: number;
}
export declare class ObjectAddressesApi {
    private api;
    constructor(configuration: Configuration, requestFactory?: AddressesApiRequestFactory, responseProcessor?: AddressesApiResponseProcessor);
    v1AddressesListWithHttpInfo(param?: AddressesApiV1AddressesListRequest, options?: Configuration): Promise<HttpInfo<CursorPageAddress>>;
    v1AddressesList(param?: AddressesApiV1AddressesListRequest, options?: Configuration): Promise<CursorPageAddress>;
    v1AddressesValidateWithHttpInfo(param: AddressesApiV1AddressesValidateRequest, options?: Configuration): Promise<HttpInfo<ValidateAddressesReply>>;
    v1AddressesValidate(param: AddressesApiV1AddressesValidateRequest, options?: Configuration): Promise<ValidateAddressesReply>;
    v1WalletsCreateAddressWithHttpInfo(param: AddressesApiV1WalletsCreateAddressRequest, options?: Configuration): Promise<HttpInfo<Address>>;
    v1WalletsCreateAddress(param: AddressesApiV1WalletsCreateAddressRequest, options?: Configuration): Promise<Address>;
    v1WalletsGetAddressWithHttpInfo(param: AddressesApiV1WalletsGetAddressRequest, options?: Configuration): Promise<HttpInfo<Address>>;
    v1WalletsGetAddress(param: AddressesApiV1WalletsGetAddressRequest, options?: Configuration): Promise<Address>;
    v1WalletsListAddressesWithHttpInfo(param: AddressesApiV1WalletsListAddressesRequest, options?: Configuration): Promise<HttpInfo<CursorPageAddress>>;
    v1WalletsListAddresses(param: AddressesApiV1WalletsListAddressesRequest, options?: Configuration): Promise<CursorPageAddress>;
}
import { ChainsApiRequestFactory, ChainsApiResponseProcessor } from "../apis/ChainsApi";
export interface ChainsApiV1ChainsListRequest {
    cursor?: string;
    limit?: number;
}
export interface ChainsApiV1ChainsRetrieveRequest {
    chainId: string;
}
export declare class ObjectChainsApi {
    private api;
    constructor(configuration: Configuration, requestFactory?: ChainsApiRequestFactory, responseProcessor?: ChainsApiResponseProcessor);
    v1ChainsListWithHttpInfo(param?: ChainsApiV1ChainsListRequest, options?: Configuration): Promise<HttpInfo<CursorPageChain>>;
    v1ChainsList(param?: ChainsApiV1ChainsListRequest, options?: Configuration): Promise<CursorPageChain>;
    v1ChainsRetrieveWithHttpInfo(param: ChainsApiV1ChainsRetrieveRequest, options?: Configuration): Promise<HttpInfo<Chain>>;
    v1ChainsRetrieve(param: ChainsApiV1ChainsRetrieveRequest, options?: Configuration): Promise<Chain>;
}
import { SweepsApiRequestFactory, SweepsApiResponseProcessor } from "../apis/SweepsApi";
export interface SweepsApiV1SweepsAddressRequest {
    address: string;
    sweepAddressRequest: SweepAddressRequest;
}
export declare class ObjectSweepsApi {
    private api;
    constructor(configuration: Configuration, requestFactory?: SweepsApiRequestFactory, responseProcessor?: SweepsApiResponseProcessor);
    v1SweepsAddressWithHttpInfo(param: SweepsApiV1SweepsAddressRequest, options?: Configuration): Promise<HttpInfo<SweepAddressResponse>>;
    v1SweepsAddress(param: SweepsApiV1SweepsAddressRequest, options?: Configuration): Promise<SweepAddressResponse>;
}
import { TokensApiRequestFactory, TokensApiResponseProcessor } from "../apis/TokensApi";
export interface TokensApiV1TokensCreateRequest {
    createTokenRequest: CreateTokenRequest;
}
export interface TokensApiV1TokensListRequest {
    cursor?: string;
    limit?: number;
}
export interface TokensApiV1TokensRetrieveRequest {
    tokenId: string;
}
export interface TokensApiV1TokensUpdateRequest {
    tokenId: string;
    updateTokenRequest: UpdateTokenRequest;
}
export declare class ObjectTokensApi {
    private api;
    constructor(configuration: Configuration, requestFactory?: TokensApiRequestFactory, responseProcessor?: TokensApiResponseProcessor);
    v1TokensCreateWithHttpInfo(param: TokensApiV1TokensCreateRequest, options?: Configuration): Promise<HttpInfo<Token>>;
    v1TokensCreate(param: TokensApiV1TokensCreateRequest, options?: Configuration): Promise<Token>;
    v1TokensListWithHttpInfo(param?: TokensApiV1TokensListRequest, options?: Configuration): Promise<HttpInfo<CursorPageToken>>;
    v1TokensList(param?: TokensApiV1TokensListRequest, options?: Configuration): Promise<CursorPageToken>;
    v1TokensRetrieveWithHttpInfo(param: TokensApiV1TokensRetrieveRequest, options?: Configuration): Promise<HttpInfo<Token>>;
    v1TokensRetrieve(param: TokensApiV1TokensRetrieveRequest, options?: Configuration): Promise<Token>;
    v1TokensUpdateWithHttpInfo(param: TokensApiV1TokensUpdateRequest, options?: Configuration): Promise<HttpInfo<Token>>;
    v1TokensUpdate(param: TokensApiV1TokensUpdateRequest, options?: Configuration): Promise<Token>;
}
import { TransactionsApiRequestFactory, TransactionsApiResponseProcessor } from "../apis/TransactionsApi";
export interface TransactionsApiV1TransactionsEstimateFeeRequest {
    estimateFeeRequest: EstimateFeeRequest;
}
export interface TransactionsApiV1TransactionsListRequest {
    walletIds?: Array<string>;
    chainIds?: Array<string>;
    tokenIds?: Array<string>;
    assetIds?: Array<string>;
    hash?: string;
    status?: string;
    cursor?: string;
    limit?: number;
}
export interface TransactionsApiV1TransactionsRetrieveRequest {
    transactionId: string;
}
export interface TransactionsApiV1TransactionsSignMessageRequest {
    signMessageRequest: SignMessageRequest;
}
export interface TransactionsApiV1TransactionsTransferRequest {
    createTransferRequest: CreateTransferRequest;
}
export declare class ObjectTransactionsApi {
    private api;
    constructor(configuration: Configuration, requestFactory?: TransactionsApiRequestFactory, responseProcessor?: TransactionsApiResponseProcessor);
    v1TransactionsEstimateFeeWithHttpInfo(param: TransactionsApiV1TransactionsEstimateFeeRequest, options?: Configuration): Promise<HttpInfo<EstimateFeeResponse>>;
    v1TransactionsEstimateFee(param: TransactionsApiV1TransactionsEstimateFeeRequest, options?: Configuration): Promise<EstimateFeeResponse>;
    v1TransactionsListWithHttpInfo(param?: TransactionsApiV1TransactionsListRequest, options?: Configuration): Promise<HttpInfo<CursorPageTransaction>>;
    v1TransactionsList(param?: TransactionsApiV1TransactionsListRequest, options?: Configuration): Promise<CursorPageTransaction>;
    v1TransactionsRetrieveWithHttpInfo(param: TransactionsApiV1TransactionsRetrieveRequest, options?: Configuration): Promise<HttpInfo<Transaction>>;
    v1TransactionsRetrieve(param: TransactionsApiV1TransactionsRetrieveRequest, options?: Configuration): Promise<Transaction>;
    v1TransactionsSignMessageWithHttpInfo(param: TransactionsApiV1TransactionsSignMessageRequest, options?: Configuration): Promise<HttpInfo<SignMessageResponse>>;
    v1TransactionsSignMessage(param: TransactionsApiV1TransactionsSignMessageRequest, options?: Configuration): Promise<SignMessageResponse>;
    v1TransactionsTransferWithHttpInfo(param: TransactionsApiV1TransactionsTransferRequest, options?: Configuration): Promise<HttpInfo<CreateTransferResponse>>;
    v1TransactionsTransfer(param: TransactionsApiV1TransactionsTransferRequest, options?: Configuration): Promise<CreateTransferResponse>;
}
import { WalletsApiRequestFactory, WalletsApiResponseProcessor } from "../apis/WalletsApi";
export interface WalletsApiV1WalletsCreateRequest {
    createWalletRequest: CreateWalletRequest;
}
export interface WalletsApiV1WalletsDeleteRequest {
    walletId: string;
}
export interface WalletsApiV1WalletsListRequest {
    cursor?: string;
    limit?: number;
}
export interface WalletsApiV1WalletsRetrieveRequest {
    walletId: string;
}
export interface WalletsApiV1WalletsUpdateRequest {
    walletId: string;
    updateWalletRequest: UpdateWalletRequest;
}
export declare class ObjectWalletsApi {
    private api;
    constructor(configuration: Configuration, requestFactory?: WalletsApiRequestFactory, responseProcessor?: WalletsApiResponseProcessor);
    v1WalletsCreateWithHttpInfo(param: WalletsApiV1WalletsCreateRequest, options?: Configuration): Promise<HttpInfo<Wallet>>;
    v1WalletsCreate(param: WalletsApiV1WalletsCreateRequest, options?: Configuration): Promise<Wallet>;
    v1WalletsDeleteWithHttpInfo(param: WalletsApiV1WalletsDeleteRequest, options?: Configuration): Promise<HttpInfo<Wallet>>;
    v1WalletsDelete(param: WalletsApiV1WalletsDeleteRequest, options?: Configuration): Promise<Wallet>;
    v1WalletsListWithHttpInfo(param?: WalletsApiV1WalletsListRequest, options?: Configuration): Promise<HttpInfo<CursorPageWallet>>;
    v1WalletsList(param?: WalletsApiV1WalletsListRequest, options?: Configuration): Promise<CursorPageWallet>;
    v1WalletsRetrieveWithHttpInfo(param: WalletsApiV1WalletsRetrieveRequest, options?: Configuration): Promise<HttpInfo<Wallet>>;
    v1WalletsRetrieve(param: WalletsApiV1WalletsRetrieveRequest, options?: Configuration): Promise<Wallet>;
    v1WalletsUpdateWithHttpInfo(param: WalletsApiV1WalletsUpdateRequest, options?: Configuration): Promise<HttpInfo<Wallet>>;
    v1WalletsUpdate(param: WalletsApiV1WalletsUpdateRequest, options?: Configuration): Promise<Wallet>;
}
import { WebhookEndpointsApiRequestFactory, WebhookEndpointsApiResponseProcessor } from "../apis/WebhookEndpointsApi";
export interface WebhookEndpointsApiV1WebhooksEndpointCreateRequest {
    createEndpoint: CreateEndpoint;
}
export interface WebhookEndpointsApiV1WebhooksEndpointDeleteRequest {
    endpointId: string;
}
export interface WebhookEndpointsApiV1WebhooksEndpointListRequest {
    cursor?: string;
    limit?: number;
}
export interface WebhookEndpointsApiV1WebhooksEndpointRetrieveRequest {
    endpointId: string;
}
export interface WebhookEndpointsApiV1WebhooksEndpointUpdateRequest {
    endpointId: string;
    updateEndpoint: UpdateEndpoint;
}
export declare class ObjectWebhookEndpointsApi {
    private api;
    constructor(configuration: Configuration, requestFactory?: WebhookEndpointsApiRequestFactory, responseProcessor?: WebhookEndpointsApiResponseProcessor);
    v1WebhooksEndpointCreateWithHttpInfo(param: WebhookEndpointsApiV1WebhooksEndpointCreateRequest, options?: Configuration): Promise<HttpInfo<Endpoint>>;
    v1WebhooksEndpointCreate(param: WebhookEndpointsApiV1WebhooksEndpointCreateRequest, options?: Configuration): Promise<Endpoint>;
    v1WebhooksEndpointDeleteWithHttpInfo(param: WebhookEndpointsApiV1WebhooksEndpointDeleteRequest, options?: Configuration): Promise<HttpInfo<Endpoint>>;
    v1WebhooksEndpointDelete(param: WebhookEndpointsApiV1WebhooksEndpointDeleteRequest, options?: Configuration): Promise<Endpoint>;
    v1WebhooksEndpointListWithHttpInfo(param?: WebhookEndpointsApiV1WebhooksEndpointListRequest, options?: Configuration): Promise<HttpInfo<CursorPageEndpoint>>;
    v1WebhooksEndpointList(param?: WebhookEndpointsApiV1WebhooksEndpointListRequest, options?: Configuration): Promise<CursorPageEndpoint>;
    v1WebhooksEndpointRetrieveWithHttpInfo(param: WebhookEndpointsApiV1WebhooksEndpointRetrieveRequest, options?: Configuration): Promise<HttpInfo<Endpoint>>;
    v1WebhooksEndpointRetrieve(param: WebhookEndpointsApiV1WebhooksEndpointRetrieveRequest, options?: Configuration): Promise<Endpoint>;
    v1WebhooksEndpointUpdateWithHttpInfo(param: WebhookEndpointsApiV1WebhooksEndpointUpdateRequest, options?: Configuration): Promise<HttpInfo<Endpoint>>;
    v1WebhooksEndpointUpdate(param: WebhookEndpointsApiV1WebhooksEndpointUpdateRequest, options?: Configuration): Promise<Endpoint>;
}
import { WebhookEventsApiRequestFactory, WebhookEventsApiResponseProcessor } from "../apis/WebhookEventsApi";
export interface WebhookEventsApiV1WebhooksEventsListRequest {
    cursor?: string;
    limit?: number;
}
export declare class ObjectWebhookEventsApi {
    private api;
    constructor(configuration: Configuration, requestFactory?: WebhookEventsApiRequestFactory, responseProcessor?: WebhookEventsApiResponseProcessor);
    v1WebhooksEventsListWithHttpInfo(param?: WebhookEventsApiV1WebhooksEventsListRequest, options?: Configuration): Promise<HttpInfo<CursorPageEventType>>;
    v1WebhooksEventsList(param?: WebhookEventsApiV1WebhooksEventsListRequest, options?: Configuration): Promise<CursorPageEventType>;
}
