InstructionGenerator:
    | TransactionInstruction[]
    | (
        params: {
            instructions: TransactionInstruction[];
            metadata?: PublicKey;
        },
    ) => TransactionInstruction[]
    | Promise<TransactionInstruction[]>