import type { DeviceLogsBackend, HistoryOpts, InternalDeviceLog, LogContext, OutputDeviceLog, Subscription } from '../struct.js'; export declare class LokiBackend implements DeviceLogsBackend { private subscriptions; private pusher; private tailCalls; constructor(); readonly available = true; /** * * Return $count of logs matching device_id in ascending order. * * The logs are sorted by timestamp since Loki returns a distinct stream for each label combination. * * @param ctx * @param count */ history($ctx: LogContext, { count, start }: HistoryOpts): Promise; publish(ctx: LogContext, logs: Array): Promise; private push; private createTailCall; subscribe($ctx: LogContext, subscription: Subscription): Promise; unsubscribe($ctx: LogContext, subscription: Subscription): Promise; private getDeviceQuery; private getKey; private getStructuredMetadata; private getLabels; private fromDeviceLogsToEntries; private fromLogEntriesToStream; }