import { PublicKey, TransactionInstruction } from '../../types'; import { Keypair } from '../../keypair'; import { AuthorityType } from '../token/constants'; import { TokenAccount, TokenMint, TransferParams, TransferCheckedParams, MintToParams, BurnParams, ApproveParams } from '../token/types'; import { ISolanaQueryClient } from '../../types/solana-client-interfaces'; export interface CreateMintParams { payer: Keypair; mintAuthority: PublicKey; freezeAuthority?: PublicKey | null; decimals: number; mintKeypair?: Keypair; programId?: PublicKey; rentExemptionLamports?: bigint | number; queryClient?: ISolanaQueryClient; } export interface CreateMintResult { mint: PublicKey; instructions: TransactionInstruction[]; signers: Keypair[]; rentLamports: bigint; } export interface CreateAccountParams { payer: Keypair; mint: PublicKey; owner: PublicKey; accountKeypair?: Keypair; programId?: PublicKey; rentExemptionLamports?: bigint | number; queryClient?: ISolanaQueryClient; } export interface CreateAccountResult { account: PublicKey; instructions: TransactionInstruction[]; signers: Keypair[]; rentLamports: bigint; } export interface GetOrCreateAssociatedAccountParams { payer: Keypair; mint: PublicKey; owner: PublicKey; allowOwnerOffCurve?: boolean; programId?: PublicKey; associatedProgramId?: PublicKey; queryClient?: ISolanaQueryClient; } export interface AssociatedAccountResult { account: PublicKey; instructions: TransactionInstruction[]; alreadyExists: boolean; } export interface CreateWrappedNativeAccountParams { payer: Keypair; owner: PublicKey; amount: number | bigint; accountKeypair?: Keypair; programId?: PublicKey; rentExemptionLamports?: bigint | number; queryClient?: ISolanaQueryClient; } export interface CreateWrappedNativeAccountResult { account: PublicKey; instructions: TransactionInstruction[]; signers: Keypair[]; rentLamports: bigint; } export declare const TokenProgram: { programId: PublicKey; createMint(params: CreateMintParams): Promise; createAccount(params: CreateAccountParams): Promise; getOrCreateAssociatedTokenAccount(params: GetOrCreateAssociatedAccountParams): Promise; transfer(params: TransferParams, programId?: PublicKey): TransactionInstruction; transferChecked(params: TransferCheckedParams, programId?: PublicKey): TransactionInstruction; mintTo(params: MintToParams, programId?: PublicKey): TransactionInstruction; burn(params: BurnParams, programId?: PublicKey): TransactionInstruction; approve(params: ApproveParams, programId?: PublicKey): TransactionInstruction; revoke(account: PublicKey, owner: PublicKey, multiSigners?: PublicKey[], programId?: PublicKey): TransactionInstruction; setAuthority(account: PublicKey, currentAuthority: PublicKey, authorityType: AuthorityType, newAuthority: PublicKey | null, multiSigners?: PublicKey[], programId?: PublicKey): TransactionInstruction; closeAccount(account: PublicKey, destination: PublicKey, owner: PublicKey, multiSigners?: PublicKey[], programId?: PublicKey): TransactionInstruction; freezeAccount(account: PublicKey, mint: PublicKey, freezeAuthority: PublicKey, multiSigners?: PublicKey[], programId?: PublicKey): TransactionInstruction; thawAccount(account: PublicKey, mint: PublicKey, freezeAuthority: PublicKey, multiSigners?: PublicKey[], programId?: PublicKey): TransactionInstruction; syncNative(account: PublicKey, programId?: PublicKey): TransactionInstruction; createWrappedNativeAccount(params: CreateWrappedNativeAccountParams): Promise; parseMintData(data: Buffer): TokenMint; parseAccountData(data: Buffer): TokenAccount; };