import { PublicAccount } from '../account/PublicAccount'; import { NetworkType } from '../blockchain/NetworkType'; import { UInt64 } from '../UInt64'; import { Deadline } from './Deadline'; import { InnerTransaction } from './InnerTransaction'; import { LinkAction } from './LinkAction'; import { Transaction } from './Transaction'; import { TransactionInfo } from './TransactionInfo'; /** * Announce an AccountLinkTransaction to delegate the account importance to a proxy account. * By doing so, you can enable delegated harvesting */ export declare class AccountLinkTransaction extends Transaction { /** * The public key of the remote account. */ readonly remotePublicKey: string; /** * The account link action. */ readonly linkAction: LinkAction; /** * Create a link account transaction object * @param deadline - The deadline to include the transaction. * @param remotePublicKey - The public key of the remote account. * @param linkAction - The account link action. * @param maxFee - (Optional) Max fee defined by the sender * @returns {AccountLinkTransaction} */ static create(deadline: Deadline, remotePublicKey: string, linkAction: LinkAction, networkType: NetworkType, maxFee?: UInt64): AccountLinkTransaction; /** * @param networkType * @param version * @param deadline * @param maxFee * @param remotePublicKey * @param linkAction * @param signature * @param signer * @param transactionInfo */ constructor(networkType: NetworkType, version: number, deadline: Deadline, maxFee: UInt64, /** * The public key of the remote account. */ remotePublicKey: string, /** * The account link action. */ linkAction: LinkAction, signature?: string, signer?: PublicAccount, transactionInfo?: TransactionInfo); /** * Create a transaction object from payload * @param {string} payload Binary payload * @param {Boolean} isEmbedded Is embedded transaction (Default: false) * @returns {Transaction | InnerTransaction} */ static createFromPayload(payload: string, isEmbedded?: boolean): Transaction | InnerTransaction; /** * @override Transaction.size() * @description get the byte size of a AccountLinkTransaction * @returns {number} * @memberof AccountLinkTransaction */ readonly size: number; }