type ConfidentialWithdrawInstruction<TProgram, TAccountToken, TAccountMint, TAccountInstructionsSysvar, TAccountEqualityRecord, TAccountRangeRecord, TAccountAuthority, TRemainingAccounts> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[TAccountToken extends string ? WritableAccount<TAccountToken> : TAccountToken, TAccountMint extends string ? ReadonlyAccount<TAccountMint> : TAccountMint, TAccountInstructionsSysvar extends string ? ReadonlyAccount<TAccountInstructionsSysvar> : TAccountInstructionsSysvar, TAccountEqualityRecord extends string ? ReadonlyAccount<TAccountEqualityRecord> : TAccountEqualityRecord, TAccountRangeRecord extends string ? ReadonlyAccount<TAccountRangeRecord> : TAccountRangeRecord, TAccountAuthority extends string ? ReadonlyAccount<TAccountAuthority> : TAccountAuthority, ...TRemainingAccounts]>;