import { BaseCoin as CoinConfig } from '@bitgo-beta/statics'; import { BaseTransactionBuilderFactory } from '@bitgo-beta/sdk-core'; import { TransferBuilder } from './transferBuilder'; import { WalletInitializationBuilder } from './walletInitializationBuilder'; import { TransactionBuilder } from './transactionBuilder'; import { StakingActivateBuilder } from './stakingActivateBuilder'; import { StakingDeactivateBuilder } from './stakingDeactivateBuilder'; import { Transaction } from './transaction'; import { StakingWithdrawBuilder } from './stakingWithdrawBuilder'; import { AtaInitializationBuilder } from './ataInitializationBuilder'; import { TokenTransferBuilder } from './tokenTransferBuilder'; import { TransferBuilderV2 } from './transferBuilderV2'; export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory { constructor(_coinConfig: Readonly); /** * Returns a proper builder for the given encoded transaction * * @param { string} raw - Encoded transaction in base64 string format */ from(raw: string): TransactionBuilder; /** @inheritdoc */ getWalletInitializationBuilder(tx?: Transaction): WalletInitializationBuilder; /** @inheritdoc */ getTransferBuilder(tx?: Transaction): TransferBuilder; /** @inheritdoc */ getTokenTransferBuilder(tx?: Transaction): TokenTransferBuilder; /** * Returns the transfer builder V2 to create a funds transfer transaction */ getTransferBuilderV2(tx?: Transaction): TransferBuilderV2; /** * Returns the staking builder to create a staking account and also a delegate in one transaction. * once the tx reach the network it will automatically by activated on next epoch * * @see https://docs.solana.com/cluster/stake-delegation-and-rewards#stake-warmup-cooldown-withdrawal * * @param {Transaction} tx - the transaction to be used to initialize the builder * @returns {StakingDeactivateBuilder} - the initialized staking activate builder */ getStakingActivateBuilder(tx?: Transaction): StakingActivateBuilder; /** * Returns the builder to create a staking deactivate transaction. * Deactivated is set in the current epoch + cooldown * The account's stake will ramp down to zero by that epoch, and the lamports will be available for withdrawal. * * @see https://docs.solana.com/cluster/stake-delegation-and-rewards#stake-warmup-cooldown-withdrawal * * @param {Transaction} tx - the transaction to be used to initialize the builder * @returns {StakingDeactivateBuilder} - the initialized staking deactivate builder */ getStakingDeactivateBuilder(tx?: Transaction): StakingDeactivateBuilder; /** * Returns the builder to create a staking withdraw transaction. * once the staking account reach 0 SOL it will not be traceable anymore by the network * * @see https://docs.solana.com/staking/stake-accounts#destroying-a-stake-account * * @param {Transaction} tx - the transaction to be used to intialize the builder * @returns {StakingWithdrawBuilder} - the initialized staking withdraw builder */ getStakingWithdrawBuilder(tx?: Transaction): StakingWithdrawBuilder; /** * Returns the builder to create a create associated token account transaction. */ getAtaInitializationBuilder(tx?: Transaction): AtaInitializationBuilder; /** * Initialize the builder with the given transaction * * @param {Transaction | undefined} tx - the transaction used to initialize the builder * @param {TransactionBuilder} builder - the builder to be initialized * @returns {TransactionBuilder} the builder initialized */ private initializeBuilder; /** Parse the transaction from a raw transaction * * @param {string} rawTransaction - the raw tx * @returns {Transaction} parsed transaction */ private parseTransaction; } //# sourceMappingURL=transactionBuilderFactory.d.ts.map