import { AccountMeta, AccountSignerMeta, Address, FixedSizeCodec, FixedSizeDecoder, FixedSizeEncoder, Instruction, InstructionWithAccounts, InstructionWithData, ReadonlyAccount, ReadonlyUint8Array, TransactionSigner, WritableAccount, WritableSignerAccount } from '@solana/kit'; import { WAVEBREAK_PROGRAM_ADDRESS } from '../programs'; export declare const TOKEN_REFUND_DISCRIMINATOR = 12; export declare function getTokenRefundDiscriminatorBytes(): ReadonlyUint8Array; export type TokenRefundInstruction = string, TAccountBondingCurve extends string | AccountMeta = string, TAccountQuoteMint extends string | AccountMeta = string, TAccountQuoteVault extends string | AccountMeta = string, TAccountSignerQuoteAta extends string | AccountMeta = string, TAccountBaseMint extends string | AccountMeta = string, TAccountSignerBaseAta extends string | AccountMeta = string, TAccountSystemProgram extends string | AccountMeta = "11111111111111111111111111111111", TAccountBaseTokenProgram extends string | AccountMeta = string, TAccountQuoteTokenProgram extends string | AccountMeta = string, TAccountAtaProgram extends string | AccountMeta = "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL", TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[ TAccountSigner extends string ? WritableSignerAccount & AccountSignerMeta : TAccountSigner, TAccountBondingCurve extends string ? WritableAccount : TAccountBondingCurve, TAccountQuoteMint extends string ? ReadonlyAccount : TAccountQuoteMint, TAccountQuoteVault extends string ? WritableAccount : TAccountQuoteVault, TAccountSignerQuoteAta extends string ? WritableAccount : TAccountSignerQuoteAta, TAccountBaseMint extends string ? WritableAccount : TAccountBaseMint, TAccountSignerBaseAta extends string ? WritableAccount : TAccountSignerBaseAta, TAccountSystemProgram extends string ? ReadonlyAccount : TAccountSystemProgram, TAccountBaseTokenProgram extends string ? ReadonlyAccount : TAccountBaseTokenProgram, TAccountQuoteTokenProgram extends string ? ReadonlyAccount : TAccountQuoteTokenProgram, TAccountAtaProgram extends string ? ReadonlyAccount : TAccountAtaProgram, ...TRemainingAccounts ]>; export type TokenRefundInstructionData = { discriminator: number; }; export type TokenRefundInstructionDataArgs = {}; export declare function getTokenRefundInstructionDataEncoder(): FixedSizeEncoder; export declare function getTokenRefundInstructionDataDecoder(): FixedSizeDecoder; export declare function getTokenRefundInstructionDataCodec(): FixedSizeCodec; export type TokenRefundInput = { signer: TransactionSigner; bondingCurve: Address; quoteMint: Address; quoteVault: Address; signerQuoteAta: Address; baseMint: Address; signerBaseAta: Address; systemProgram?: Address; baseTokenProgram: Address; quoteTokenProgram: Address; ataProgram?: Address; }; export declare function getTokenRefundInstruction(input: TokenRefundInput, config?: { programAddress?: TProgramAddress; }): TokenRefundInstruction; export type ParsedTokenRefundInstruction = { programAddress: Address; accounts: { signer: TAccountMetas[0]; bondingCurve: TAccountMetas[1]; quoteMint: TAccountMetas[2]; quoteVault: TAccountMetas[3]; signerQuoteAta: TAccountMetas[4]; baseMint: TAccountMetas[5]; signerBaseAta: TAccountMetas[6]; systemProgram: TAccountMetas[7]; baseTokenProgram: TAccountMetas[8]; quoteTokenProgram: TAccountMetas[9]; ataProgram: TAccountMetas[10]; }; data: TokenRefundInstructionData; }; export declare function parseTokenRefundInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedTokenRefundInstruction;