import type { CreateOnChainTransactionRequest } from '../models/CreateOnChainTransactionRequest';
import type { OnChainWalletAddressData } from '../models/OnChainWalletAddressData';
import type { OnChainWalletOverviewData } from '../models/OnChainWalletOverviewData';
import type { OnChainWalletTransactionData } from '../models/OnChainWalletTransactionData';
import type { OnChainWalletUTXOData } from '../models/OnChainWalletUTXOData';
import type { TransactionStatus } from '../models/TransactionStatus';
export declare class StoreWalletOnChainService {
    /**
     * Get store on-chain wallet overview
     * View information about the specified wallet
     * @returns OnChainWalletOverviewData specified wallet
     * @throws ApiError
     */
    static storeOnChainWalletsShowOnChainWalletOverview({ storeId, cryptoCode, }: {
        /** The store to fetch **/
        storeId: string;
        /** The crypto code of the payment method to fetch **/
        cryptoCode: string;
    }): Promise<OnChainWalletOverviewData>;
    /**
     * Get store on-chain wallet address
     * Get or generate address for wallet
     * @returns OnChainWalletAddressData reserved address
     * @throws ApiError
     */
    static storeOnChainWalletsGetOnChainWalletReceiveAddress({ storeId, cryptoCode, forceGenerate, }: {
        /** The store to fetch **/
        storeId: string;
        /** The crypto code of the payment method to fetch **/
        cryptoCode: string;
        /** Whether to generate a new address for this request even if the previous one was not used **/
        forceGenerate?: string;
    }): Promise<OnChainWalletAddressData>;
    /**
     * UnReserve last store on-chain wallet address
     * UnReserve address
     * @returns any address unreserved
     * @throws ApiError
     */
    static storeOnChainWalletsUnReserveOnChainWalletReceiveAddress({ storeId, cryptoCode, }: {
        /** The store to fetch **/
        storeId: string;
        /** The crypto code of the payment method to fetch **/
        cryptoCode: string;
    }): Promise<any>;
    /**
     * Get store on-chain wallet transactions
     * Get store on-chain wallet transactions
     * @returns OnChainWalletTransactionData transactions list
     * @throws ApiError
     */
    static storeOnChainWalletsShowOnChainWalletTransactions({ storeId, cryptoCode, statusFilter, }: {
        /** The store to fetch **/
        storeId: string;
        /** The crypto code of the wallet to fetch **/
        cryptoCode: string;
        /** statuses to filter the transactions with **/
        statusFilter?: Array<TransactionStatus>;
    }): Promise<Array<OnChainWalletTransactionData>>;
    /**
     * Create store on-chain wallet transaction
     * Create store on-chain wallet transaction
     * @returns any the tx
     * @throws ApiError
     */
    static storeOnChainWalletsCreateOnChainTransaction({ storeId, cryptoCode, requestBody, }: {
        /** The store to fetch **/
        storeId: string;
        /** The crypto code of the wallet **/
        cryptoCode: string;
        requestBody: CreateOnChainTransactionRequest;
    }): Promise<(string | OnChainWalletTransactionData)>;
    /**
     * Get store on-chain wallet transactions
     * Get store on-chain wallet transaction
     * @returns OnChainWalletTransactionData transaction
     * @throws ApiError
     */
    static storeOnChainWalletsGetOnChainWalletTransaction({ storeId, cryptoCode, transactionId, }: {
        /** The store to fetch **/
        storeId: string;
        /** The crypto code of the wallet to fetch **/
        cryptoCode: string;
        /** The transaction id to fetch **/
        transactionId: string;
    }): Promise<OnChainWalletTransactionData>;
    /**
     * Get store on-chain wallet UTXOS
     * Get store on-chain wallet utxos
     * @returns OnChainWalletUTXOData utxo list
     * @throws ApiError
     */
    static storeOnChainWalletsGetOnChainWalletUtxOs({ storeId, cryptoCode, }: {
        /** The store to fetch **/
        storeId: string;
        /** The crypto code of the wallet to fetch **/
        cryptoCode: string;
    }): Promise<Array<OnChainWalletUTXOData>>;
}
