import { StdSignature, StdSignDoc } from "@cosmjs/amino"; import { DeliverTxResponse } from "@cosmjs/stargate"; import { TxRaw } from "cosmjs-types/cosmos/tx/v1beta1/tx"; import { Resource } from "./proto/iov/starname/v1beta1/types"; import { StarnameClient } from "./starnameClient"; import { Task } from "./starnameClient/task"; import { Amount } from "./types/amount"; import { ResponsePage } from "./types/apiPage"; import { AssetResource } from "./types/assetResource"; import { FeeEstimator } from "./types/feeEstimator"; import { MsgsAndMemo } from "./types/msgsAndMemo"; import { Starname } from "./types/starname"; import { TokenLike } from "./types/tokenLike"; import { Transaction } from "./types/transaction"; import { GasConfig } from "./utils/estimateFee"; import { ChainMap, Signer, SignerType } from "@iov/signer-types"; export interface WalletOptions { readonly feeEstimator?: FeeEstimator; readonly gasConfig?: GasConfig; } export declare class Wallet { protected readonly starnameClient: StarnameClient; private readonly signer; private readonly feeEstimator; private readonly gasConfig; constructor(signer: Signer, client: StarnameClient, options?: WalletOptions); protected signAndBroadcast(msgsAndMemo: MsgsAndMemo): Promise; private signWithSigner; signMsgsAndMemo(msgsAndMemo: MsgsAndMemo): Promise; getPublicKey(): Promise; getAddress(): Promise; getSigner(): Signer; disconnect(): void; getBalances(): Task>; getTransactions(): Task>>; protected static buildPreferredAssetItem(preferredAsset: string): ReadonlyArray; replaceDomainResources(domain: string, targets: ReadonlyArray, profile: ReadonlyArray, preferredAsset: string, memo?: string): Promise; protected sanitizeResources(resources: ReadonlyArray): Array; replaceAccountResources(name: string, domain: string, targets: ReadonlyArray, profile: ReadonlyArray, preferredAsset: string, memo?: string): Promise; addAccountCertificate(name: string, domain: string, certificate: string, memo?: string): Promise; /** * * @param name * @param domain * @param b64Certificate - A base64 encoded JSON certificate * @returns DeliverTxResponse */ deleteAccountCertificate(name: string, domain: string, b64Certificate: string, memo?: string): Promise; createEscrow(amount: Amount, item: Starname, deadline: Date, memo?: string): Promise; updateEscrow(id: string, newAmount: Amount, newDeadline: Date, newSeller: string, memo?: string): Promise; transferToEscrow(id: string, amount: Amount, memo?: string): Promise; deleteEscrow(id: string, memo?: string): Promise; registerDomain(domain: string, type?: "closed" | "open", expired?: boolean, memo?: string): Promise; getOtherChainResources(chains: ChainMap): Promise>; registerAccount(name: string, domain: string, chains?: ChainMap, expired?: boolean, memo?: string): Promise; transferDomain(domain: string, recipient: string, transferFlag?: 0 | 1 | 2, memo?: string): Promise; transferAccount(name: string, domain: string, recipient: string, reset?: boolean, memo?: string): Promise; deleteDomain(domain: string, memo?: string): Promise; deleteAccount(name: string, domain: string, memo?: string): Promise; renewDomain(domain: string, memo?: string): Promise; renewAccount(name: string, domain: string, memo?: string): Promise; delegateAmount(validatorAddress: string, amount: Amount, memo?: string): Promise; unDelegateAmount(validatorAddress: string, amount: Amount, memo?: string): Promise; redelegateAmount(validatorSource: string, validatorDestination: string, amount: Amount, memo?: string): Promise; claimReward(validatorAddresses: ReadonlyArray, memo?: string): Promise; sendPayment(token: TokenLike, recipient: string, amount: number, memo?: string): Promise; setMetadataURI(name: string, domain: string, uri: string | null, memo?: string): Promise; getSignerType(): SignerType; signAlephMessage(signDoc: StdSignDoc): Promise; }