import { LabelFilterableTimeInstantQuery, LabelFilterableTimeRangeQuery, TimeRange, TimeSeriesSource } from '../../query-model'; import { NativeQueryBuilderFactoryFn } from '../native-query-builder'; /** * Common superclass for `TimeSeriesSource` implementations that want to reuse the existing * `TimeSeriesQuery` implementations. * * When implementing this abstract class, only a `name` and a getter for the `NativeQueryBuilderFactoryFn` * need to be provided. */ export declare abstract class TimeSeriesSourceBase implements TimeSeriesSource { abstract fullName: string; /** * @returns The `NativeQueryBuilderFactoryFn` used to create new `NativeQueryBuilders` for the DB. */ protected abstract getNativeQueryBuilderFactory(): NativeQueryBuilderFactoryFn; select(appName: string, metricName: string): LabelFilterableTimeInstantQuery; select(appName: string, metricName: string, range: TimeRange): LabelFilterableTimeRangeQuery; }