import { ConfigService } from '@nestjs/config';
import { DataPoint, Warp10 } from '@senx/warp10';
export declare enum BuckertizerWarp10Enum {
    MEAN = "mean",
    MIN = "min",
    MAX = "max",
    FIRST = "first",
    LAST = "last",
    COUNT = "count",
    SUM = "sum"
}
export declare enum MapperWarp10Enum {
    EQUAL = "eq",
    NOT_EQUAL = "ne",
    LESSER_THAN = "lt",
    GREATER_THAN = "gt",
    LESSER_THAN_OR_EQUAL = "le",
    GREATER_THAN_OR_EQUAL = "ge"
}
export declare enum ReducerWarp10Enum {
    MEAN = "mean",
    MIN = "min",
    MAX = "max",
    COUNT = "count",
    SUM = "sum"
}
export interface IUpdateResultWarp10 {
    response: string;
    count: number;
}
export declare class DataPointResult {
    c: string;
    v: [number, number | string | boolean][];
    l: Record<string, string>;
}
export declare class Warp10Service {
    private configService;
    private readonly writeToken;
    private readonly readToken;
    private readonly logger;
    BASE_APP_CLASS_NAME: string;
    readonly w10: Warp10;
    constructor(configService: ConfigService);
    execWithToken(script: string): Promise<{
        result: any[];
        meta: {
            elapsed: number;
            ops: number;
            fetched: number;
        };
    }>;
    exec(script: string): Promise<{
        result: any[];
        meta: {
            elapsed: number;
            ops: number;
            fetched: number;
        };
    }>;
    fetch(readToken: string | undefined, className: string, labels: Record<string, string>, start: string, stop: any, format?: 'text' | 'fulltext' | 'json' | 'tsv' | 'fulltsv' | 'pack' | 'raw' | 'formatted' | undefined, dedup?: boolean | undefined): Promise<{
        result: any[];
        meta: {
            elapsed: number;
            ops: number;
            fetched: number;
        };
    }>;
    meta(writeToken: string | undefined, meta: {
        className: string;
        labels: Record<string, string>;
        attributes: Record<string, string>;
    }[]): Promise<{
        response: string;
        count: number;
    }>;
    update(writeToken: string | undefined, dataPoints: (string | DataPoint)[]): Promise<{
        response: string | undefined;
        count: number;
    }>;
    delete(writeToken: string | undefined, className: string, labels: Record<string, string>, start: string, end: string, deleteAll?: boolean): Promise<{
        result: string;
    }>;
    deleteByTimestamp(writeToken: string | undefined, className: string, labels: Record<string, string>, timestamp: string): Promise<{
        result: string;
    }>;
}
