/** * @template RequestT * @template ResponseT * @template OutputT * @typedef {import("./Executable.js").default} Executable */ /** * @typedef {import("./Signer.js").Signer} Signer * @typedef {import("./Provider.js").Provider} Provider * @typedef {import("./LedgerId.js").default} LedgerId * @typedef {import("./Key.js").default} Key * @typedef {import("./transaction/Transaction.js").default} Transaction * @typedef {import("./transaction/TransactionResponse.js").default} TransactionResponse * @typedef {import("./transaction/TransactionReceipt.js").default} TransactionReceipt * @typedef {import("./transaction/TransactionRecord.js").default} TransactionRecord * @typedef {import("./account/AccountBalance.js").default} AccountBalance * @typedef {import("./account/AccountInfo.js").default} AccountInfo */ /** * @template {any} O * @typedef {import("./query/Query.js").default} Query */ /** * @implements {Signer} */ export default class Wallet implements Signer { /** * @returns {Promise} */ static createRandomED25519(): Promise; /** * @returns {Promise} */ static createRandomECDSA(): Promise; /** * @param {AccountId | string} accountId * @param {PrivateKey | string} privateKey * @param {Provider=} provider */ constructor(accountId: AccountId | string, privateKey: PrivateKey | string, provider?: Provider | undefined); publicKey: import("./PublicKey.js").default; /** * @type {(message: Uint8Array) => Promise} */ signer: (message: Uint8Array) => Promise; provider: import("./Provider.js").Provider | undefined; accountId: AccountId; /** * @returns {Provider=} */ getProvider(): Provider | undefined; /** * @abstract * @returns {AccountId} */ getAccountId(): AccountId; /** * @returns {Key} */ getAccountKey(): Key; /** * @returns {LedgerId?} */ getLedgerId(): LedgerId | null; /** * @abstract * @returns {{[key: string]: (string | AccountId)}} */ getNetwork(): { [key: string]: string | AccountId; }; /** * @abstract * @returns {string[]} */ getMirrorNetwork(): string[]; /** * @param {Uint8Array[]} messages * @returns {Promise} */ sign(messages: Uint8Array[]): Promise; /** * @returns {Promise} */ getAccountBalance(): Promise; /** * @abstract * @returns {Promise} */ getAccountInfo(): Promise; /** * @abstract * @returns {Promise} */ getAccountRecords(): Promise; /** * @template {Transaction} T * @param {T} transaction * @returns {Promise} */ signTransaction(transaction: T): Promise; /** * @template {Transaction} T * @param {T} transaction * @returns {Promise} */ checkTransaction(transaction: T_1): Promise; /** * @template {Transaction} T * @param {T} transaction * @returns {Promise} */ populateTransaction(transaction: T_2): Promise; /** * @template RequestT * @template ResponseT * @template OutputT * @param {Executable} request * @returns {Promise} */ call(request: import("./Executable.js").default): Promise; } /** * */ export type Executable = import("./Executable.js").default; export type Signer = import("./Signer.js").Signer; export type Provider = import("./Provider.js").Provider; export type LedgerId = import("./LedgerId.js").default; export type Key = import("./Key.js").default; export type Transaction = import("./transaction/Transaction.js").default; export type TransactionResponse = import("./transaction/TransactionResponse.js").default; export type TransactionReceipt = import("./transaction/TransactionReceipt.js").default; export type TransactionRecord = import("./transaction/TransactionRecord.js").default; export type AccountBalance = import("./account/AccountBalance.js").default; export type AccountInfo = import("./account/AccountInfo.js").default; /** * */ export type Query = import("./query/Query.js").default; import AccountId from "./account/AccountId.js"; import SignerSignature from "./SignerSignature.js"; import PrivateKey from "./PrivateKey.js";