import { LatencyCheckDTO, LatencyCheckResult } from '@meshwatch/types';
import { QueryResult } from 'pg';
import PostgresClient from '../../../shared/postgres';
import AbstractTimescaleMonitorCheckDatasource from '../db';
import { IdentifiableMonitorExecutorCheck } from '../types';
import { GetMonitorLatencyChecksParams, LatencyInsertParams } from './types';
export interface LatencyCheckDatasource {
    getLatencyChecks(params: GetMonitorLatencyChecksParams): Promise<LatencyCheckDTO[]>;
    insertCheckData(params: LatencyInsertParams): Promise<LatencyCheckDTO>;
    createTable(): Promise<QueryResult>;
}
export declare class TimescaleLatencyCheckDatasource extends AbstractTimescaleMonitorCheckDatasource implements LatencyCheckDatasource {
    constructor(client?: PostgresClient);
    createTable: () => Promise<QueryResult>;
    getLatencyChecks: (params: GetMonitorLatencyChecksParams) => Promise<LatencyCheckDTO[]>;
    insertCheckData: (data: IdentifiableMonitorExecutorCheck<LatencyCheckResult>) => Promise<LatencyCheckDTO>;
    private insertLatencyCheck;
    private getInsertQueryConfig;
}
declare const timescaleLatencyCheckDatasource: TimescaleLatencyCheckDatasource;
export default timescaleLatencyCheckDatasource;
