import { GrafanaTheme2 } from '../themes/types'; import { DataFrame, Field } from '../types/dataFrame'; import { TimeRange } from '../types/time'; export declare function isTimeSeriesFrame(frame: DataFrame): boolean; export declare function isTimeSeriesFrames(data: DataFrame[]): boolean; /** * Determines if a field is a time field in ascending * order within the sampling range specified by * MAX_TIME_COMPARISONS * * @param field * @returns boolean */ export declare function isTimeSeriesField(field: Field): boolean; /** * Indicates if there is any time field in the array of data frames * @param data */ export declare function anySeriesWithTimeField(data: DataFrame[]): boolean; /** * Indicates if there is any time field in the data frame * @param data */ export declare function hasTimeField(data: DataFrame): boolean; /** * Get row id based on the meta.uniqueRowIdFields attribute. * @param dataFrame * @param rowIndex */ export declare function getRowUniqueId(dataFrame: DataFrame, rowIndex: number): string | undefined; /** * Simple helper to add values to a data frame. Doesn't do any validation so make sure you are adding the right types * of values. * @param dataFrame * @param row Either an array of values or an object with keys that match the field names. */ export declare function addRow(dataFrame: DataFrame, row: Record | unknown[]): void; /** * Aligns time range comparison data by adjusting timestamps and applying compare-specific styling * @param series - The DataFrame containing the comparison data * @param diff - The time difference in milliseconds to align the timestamps * @param theme - The Grafana theme for color calculations */ export declare function alignTimeRangeCompareData(series: DataFrame, diff: number, theme: GrafanaTheme2): void; /** * Checks if a time comparison frame needs alignment based on whether its first time is before the current time range. * Returns true if the first time in compare is before timeRange.from, indicating it needs shifting. * @param compareFrame - The frame with time comparison data * @param allFrames - Array of all frames to find the matching original frame * @param timeRange - The current panel time range * @returns true if alignment is needed */ export declare function shouldAlignTimeCompare(compareFrame: DataFrame, allFrames: DataFrame[], timeRange: TimeRange): boolean;