type RecoverNestedAssociatedTokenInstruction<TProgram, TAccountNestedAssociatedAccountAddress, TAccountNestedTokenMintAddress, TAccountDestinationAssociatedAccountAddress, TAccountOwnerAssociatedAccountAddress, TAccountOwnerTokenMintAddress, TAccountWalletAddress, TAccountTokenProgram, TRemainingAccounts> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[TAccountNestedAssociatedAccountAddress extends string ? WritableAccount<TAccountNestedAssociatedAccountAddress> : TAccountNestedAssociatedAccountAddress, TAccountNestedTokenMintAddress extends string ? ReadonlyAccount<TAccountNestedTokenMintAddress> : TAccountNestedTokenMintAddress, TAccountDestinationAssociatedAccountAddress extends string ? WritableAccount<TAccountDestinationAssociatedAccountAddress> : TAccountDestinationAssociatedAccountAddress, TAccountOwnerAssociatedAccountAddress extends string ? ReadonlyAccount<TAccountOwnerAssociatedAccountAddress> : TAccountOwnerAssociatedAccountAddress, TAccountOwnerTokenMintAddress extends string ? ReadonlyAccount<TAccountOwnerTokenMintAddress> : TAccountOwnerTokenMintAddress, TAccountWalletAddress extends string ? WritableSignerAccount<TAccountWalletAddress> & AccountSignerMeta<TAccountWalletAddress> : TAccountWalletAddress, TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram, ...TRemainingAccounts]>;