export type TraceKeyType = "string" | "integer" | "float" | "round" | "date";
export type TraceMappingKeyType = "time" | "requestDuration" | "id" | "parentSpanId" | "statusCode" | "serviceName" | "statusMessage" | "spanId" | "spanName" | "exceptionType" | "deploymentType" | "provider" | "applicationName" | "environment" | "type" | "endpoint" | "temperature" | "cost" | "promptTokens" | "completionTokens" | "totalTokens" | "maxTokens" | "audioVoice" | "audioFormat" | "audioSpeed" | "image" | "imageSize" | "imageQuality" | "imageStyle" | "model" | "prompt" | "finishReason" | "response" | "randomSeed" | "revisedPrompt" | "embeddingFormat" | "embeddingDimension" | "trainingFile" | "validationFile" | "fineTuneBatchSize" | "learningRateMultiplier" | "fineTuneNEpochs" | "fineTuneModelSuffix" | "finetuneJobStatus" | "operation" | "system" | "documentsCount" | "idsCount" | "vectorCount" | "statement" | "nResults" | "collectionName" | "whereDocument" | "filter" | "owner" | "repo" | "retrievalSource" | "averageInputTokens" | "averageOutputTokens";
export type TraceMappingValueType = {
    label: string;
    type: TraceKeyType;
    path: string | string[];
    prefix?: string | string[];
    isRoot?: boolean;
    offset?: number;
    icon?: any;
    defaultValue?: string | number | boolean;
    valuePrefix?: string;
    valueSuffix?: string;
};
export type TimeLimitType = {
    start?: Date | string;
    end?: Date | string;
    type?: string;
};
export type FilterWhereConditionType = {
    timeLimit?: TimeLimitType;
    offset?: number;
    limit?: number;
    selectedConfig?: Partial<{
        providers: string[];
        maxCost: number;
        models: string[];
        traceTypes: string[];
        applicationNames: string[];
        environments: string[];
    }>;
    notOrEmpty?: {
        key: string;
    }[];
    notEmpty?: {
        key: string;
    }[];
    statusCode?: string[];
    operationType?: 'llm' | 'vectordb';
};
export type TimeLimit = {
    start: Date | string;
    end: Date | string;
    type: string;
};
export interface MetricParams {
    timeLimit: TimeLimit;
    page?: number;
    limit?: number;
    selectedConfig?: any;
    sorting?: any;
    operationType?: 'llm' | 'vectordb';
    statusCode?: string[];
    type?: 'total' | 'prompt' | 'completion';
    projectId?: string;
    applicationIds?: string[];
    applicationId?: string;
    orgId?: string;
}
declare const ClickHouseHelper: {
    TraceMapping: Record<TraceMappingKeyType, TraceMappingValueType>;
    /**
     * Get the full path of a trace mapping key
     * @param key - The key to get the full path of
     * @param shouldReturnArray - Whether to return an array of the full path
     * @returns The full path of the trace mapping key
     */
    getTraceMappingKeyFullPath: (key: TraceMappingKeyType, shouldReturnArray?: boolean) => string | string[];
    /**
     * Get the where condition for a filter
     * @param filter - The filter to get the where condition for
     * @param filterSelectedConfig - Whether to filter by the selected config
     * @returns The where condition for the filter
     */
    getFilterWhereCondition: (filter: FilterWhereConditionType, filterSelectedConfig?: boolean) => string;
    /**
     * Get the previous params for a filter
     * @param filter - The filter to get the previous params for
     * @returns The previous params for the filter
     */
    getFilterPreviousParams: (filter: MetricParams) => MetricParams;
    /**
     * Get the date truncation grouping logic
     * @param end - The end date
     * @param start - The start date
     * @returns The date truncation grouping logic
     */
    dateTruncGroupingLogic: (end: Date, start: Date, type?: string) => string;
    safeConvertToNumber: (value: string | number | null) => number;
    processTotalRecordsGraph: (data: any[]) => {
        x: any;
        y: number;
        series: any;
        xEnd: string | undefined;
    }[];
    processMetricFailureAnalysis: (data: any[], types?: string[], postFix?: string) => {
        name: any;
        value: number;
        postFix: string;
    }[];
};
export { ClickHouseHelper, };
//# sourceMappingURL=index.d.ts.map