import { AccountMeta, Address, FixedSizeCodec, FixedSizeDecoder, FixedSizeEncoder, Instruction, InstructionWithAccounts, InstructionWithData, ReadonlyUint8Array, WritableAccount } from '@solana/kit'; import { WAVEBREAK_PROGRAM_ADDRESS } from '../programs'; export declare const PERMISSION_REFUND_DISCRIMINATOR = 6; export declare function getPermissionRefundDiscriminatorBytes(): ReadonlyUint8Array; export type PermissionRefundInstruction = string, TAccountRefundDestination extends string | AccountMeta = string, TRemainingAccounts extends readonly AccountMeta[] = []> = Instruction & InstructionWithData & InstructionWithAccounts<[ TAccountConsumedPermission extends string ? WritableAccount : TAccountConsumedPermission, TAccountRefundDestination extends string ? WritableAccount : TAccountRefundDestination, ...TRemainingAccounts ]>; export type PermissionRefundInstructionData = { discriminator: number; }; export type PermissionRefundInstructionDataArgs = {}; export declare function getPermissionRefundInstructionDataEncoder(): FixedSizeEncoder; export declare function getPermissionRefundInstructionDataDecoder(): FixedSizeDecoder; export declare function getPermissionRefundInstructionDataCodec(): FixedSizeCodec; export type PermissionRefundInput = { consumedPermission: Address; refundDestination: Address; }; export declare function getPermissionRefundInstruction(input: PermissionRefundInput, config?: { programAddress?: TProgramAddress; }): PermissionRefundInstruction; export type ParsedPermissionRefundInstruction = { programAddress: Address; accounts: { consumedPermission: TAccountMetas[0]; refundDestination: TAccountMetas[1]; }; data: PermissionRefundInstructionData; }; export declare function parsePermissionRefundInstruction(instruction: Instruction & InstructionWithAccounts & InstructionWithData): ParsedPermissionRefundInstruction;