type ReallocateInstruction<TProgram, TAccountToken, TAccountPayer, TAccountSystemProgram, TAccountOwner, TRemainingAccounts> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[TAccountToken extends string ? WritableAccount<TAccountToken> : TAccountToken, TAccountPayer extends string ? WritableSignerAccount<TAccountPayer> & AccountSignerMeta<TAccountPayer> : TAccountPayer, TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram, TAccountOwner extends string ? ReadonlyAccount<TAccountOwner> : TAccountOwner, ...TRemainingAccounts]>;