/// <reference types="node" />
import { SignDoc } from 'cosmjs-types/cosmos/tx/v1beta1/tx';
import { AddressValidation, SignedTx, UnsignedTx } from '../../../types/provider';
import { Signer, Verifier } from '../../../types/secret';
import { BaseProvider } from '../../abc';
import { ProtoMsgObj } from './sdk/signing';
import { Tendermint } from './tendermint';
declare class Provider extends BaseProvider {
    get addressPrefix(): string;
    get tendermint(): Promise<Tendermint>;
    pubkeyToAddress(verifier: Verifier, encoding: string | undefined): Promise<string>;
    verifyAddress(address: string): Promise<AddressValidation>;
    verifyTokenAddress(address: string): Promise<AddressValidation>;
    buildUnsignedTx(unsignedTx: UnsignedTx): Promise<UnsignedTx>;
    signTransaction(unsignedTx: UnsignedTx, signers: {
        [p: string]: Signer;
    }): Promise<SignedTx>;
    static packUnsignedTx(unsignedTx: UnsignedTx, pubkey: Buffer, mainCoinDenom: string, chainId: string): SignDoc;
    static packMsgObj(unsignedTx: UnsignedTx): ProtoMsgObj;
}
export { Provider };
