import { AccountAddress, CosmosChainId } from '../../../';
import { DirectSignResponse } from '@cosmjs/proto-signing';
import { TxRaw } from '@routerprotocol/chain-api/cosmos/tx/v1beta1/tx_pb';
import { Wallet, WalletDeviceType } from '../../types/enums';
import { ConcreteCosmosWalletStrategy, CosmosWalletStrategyArguments } from '../types/strategy';
export declare const cosmosWallets: Wallet[];
export default class CosmosWalletStrategy {
    strategies: Record<Wallet, ConcreteCosmosWalletStrategy | undefined>;
    wallet: Wallet;
    constructor(args: CosmosWalletStrategyArguments);
    getWallet(): Wallet;
    setWallet(wallet: Wallet): void;
    getStrategy(): ConcreteCosmosWalletStrategy;
    getWalletDeviceType(): Promise<WalletDeviceType>;
    getPubKey(): Promise<string>;
    getAddresses(): Promise<AccountAddress[]>;
    isChainIdSupported(chainId?: CosmosChainId): Promise<boolean>;
    sendTransaction(tx: DirectSignResponse): Promise<string>;
    signTransaction(transaction: {
        txRaw: TxRaw;
        accountNumber: number;
        chainId: string;
    }, address: string): Promise<DirectSignResponse>;
}
