def METHOD_NAME(self, logger: AirbyteLogger, config: Mapping[str, Any]) -> AirbyteCatalog:
    reader = AzureTableReader(logger, config)
    tables = reader.get_tables()
    streams = []
    for table in tables:
        stream_name = table.name
        stream = AirbyteStream(
            name=stream_name,
            json_schema=self.get_typed_schema,
            supported_sync_modes=[SyncMode.full_refresh, SyncMode.incremental],
            source_defined_cursor=True,
            default_cursor_field=["PartitionKey"],
        )
        streams.append(stream)
    logger.info(f"Total {streams.count} streams found.")
    return AirbyteCatalog(streams=streams)