listPageRanges(offset = 0, count, options = {}) {
        options.conditions = options.conditions || {};
        // AsyncIterableIterator to iterate over blobs
        const iter = this.listPageRangeItems(offset, count, options);
        return {
            /**
             * The next method, part of the iteration protocol
             */
            next() {
                return iter.next();
            },
            /**
             * The connection to the async iterator, part of the iteration protocol
             */
            [Symbol.asyncIterator]() {
                return this;
            },
            /**
             * Return an AsyncIterableIterator that works a page at a time
             */
            byPage: (settings = {}) => {
                return this.listPageRangeItemSegments(offset, count, settings.continuationToken, Object.assign({ maxPageSize: settings.maxPageSize }, options));
            },
        };
    }
Returns an async iterable iterator to list of page ranges for a page blob.
@see https://learn.microsoft.com/rest/api/storageservices/get-page-ranges

 .byPage() returns an async iterable iterator to list of page ranges for a page blob.

Example using `for await` syntax:

```js
// Get the pageBlobClient before you run these snippets,
// Can be obtained from `blobServiceClient.getContainerClient("<your-container-name>").getPageBlobClient("<your-blob-name>");`
let i = 1;
for await (const pageRange of pageBlobClient.listPageRanges()) {
  console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}
```

Example using `iter.next()`:

```js
let i = 1;
let iter = pageBlobClient.listPageRanges();
let pageRangeItem = await iter.next();
while (!pageRangeItem.done) {
  console.log(`Page range ${i++}: ${pageRangeItem.value.start} - ${pageRangeItem.value.end}, IsClear: ${pageRangeItem.value.isClear}`);
  pageRangeItem = await iter.next();
}
```

Example using `byPage()`:

```js
// passing optional maxPageSize in the page settings
let i = 1;
for await (const response of pageBlobClient.listPageRanges().byPage({ maxPageSize: 20 })) {
  for (const pageRange of response) {
    console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
  }
}
```

Example using paging with a marker:

```js
let i = 1;
let iterator = pageBlobClient.listPageRanges().byPage({ maxPageSize: 2 });
let response = (await iterator.next()).value;

// Prints 2 page ranges
for (const pageRange of response) {
  console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}

// Gets next marker
let marker = response.continuationToken;

// Passing next marker as continuationToken

iterator = pageBlobClient.listPageRanges().byPage({ continuationToken: marker, maxPageSize: 10 });
response = (await iterator.next()).value;

// Prints 10 page ranges
for (const blob of response) {
  console.log(`Page range ${i++}: ${pageRange.start} - ${pageRange.end}`);
}
```
@param offset - Starting byte position of the page ranges.
@param count - Number of bytes to get.
@param options - Options to the Page Blob Get Ranges operation.
@returns An asyncIterableIterator that supports paging.