/** * This code was AUTOGENERATED using the Codama library. * Please DO NOT EDIT THIS FILE, instead use visitors * to add features, then rerun Codama to update it. * * @see https://github.com/codama-idl/codama */ import { type AccountMeta, type AccountSignerMeta, type Address, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type Instruction, type InstructionWithAccounts, type InstructionWithData, type ReadonlyAccount, type ReadonlySignerAccount, type ReadonlyUint8Array, type TransactionSigner, type WritableAccount } from '@solana/kit'; import { TOKEN_2022_PROGRAM_ADDRESS } from '../programs'; export declare const TRANSFER_DISCRIMINATOR = 3; export declare function getTransferDiscriminatorBytes(): ReadonlyUint8Array; export type TransferInstruction = string, TAccountDestination extends string | AccountMeta = string, TAccountAuthority extends string | AccountMeta = string, TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[ TAccountSource extends string ? WritableAccount : TAccountSource, TAccountDestination extends string ? WritableAccount : TAccountDestination, TAccountAuthority extends string ? ReadonlyAccount : TAccountAuthority, ...TRemainingAccounts ]>; export type TransferInstructionData = { discriminator: number; /** The amount of tokens to transfer. */ amount: bigint; }; export type TransferInstructionDataArgs = { /** The amount of tokens to transfer. */ amount: number | bigint; }; export declare function getTransferInstructionDataEncoder(): FixedSizeEncoder; export declare function getTransferInstructionDataDecoder(): FixedSizeDecoder; export declare function getTransferInstructionDataCodec(): FixedSizeCodec; export type TransferInput = { /** The source account. */ source: Address; /** The destination account. */ destination: Address; /** The source account's owner/delegate or its multisignature account. */ authority: Address | TransactionSigner; amount: TransferInstructionDataArgs['amount']; multiSigners?: Array; }; export declare function getTransferInstruction(input: TransferInput, config?: { programAddress?: TProgramAddress; }): TransferInstruction ? ReadonlySignerAccount & AccountSignerMeta : TAccountAuthority>; export type ParsedTransferInstruction = { programAddress: Address; accounts: { /** The source account. */ source: TAccountMetas[0]; /** The destination account. */ destination: TAccountMetas[1]; /** The source account's owner/delegate or its multisignature account. */ authority: TAccountMetas[2]; }; data: TransferInstructionData; }; export declare function parseTransferInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedTransferInstruction; //# sourceMappingURL=transfer.d.ts.map