import { PreferredVisualisationType } from '../../types/data'; import { DataFrame, FieldType } from '../../types/dataFrame'; import { DataFrameType } from '../../types/dataFrameTypes'; export interface PanelDataSummary { hasData?: boolean; rowCountTotal: number; /** max number of rows in any given dataframe in the panel data */ rowCountMax: number; frameCount: number; fieldCount: number; /** max number of fields in any given dataframe in the panel data */ fieldCountMax: number; /** given a field type, return the number of fields across all dataframes which match this type */ fieldCountByType: (type: FieldType) => number; /** returns true if any fields in any frames match the field type */ hasFieldType: (type: FieldType) => boolean; hasDataFrameType: (type: DataFrameType) => boolean; hasPreferredVisualisationType: (type: PreferredVisualisationType) => boolean; /** true if time fields exist on the dataframe and the dataframe only contains a single time value */ isInstant?: boolean; /** pass along a reference to the DataFrame array in case it's needed by the plugin */ rawFrames?: DataFrame[]; /** @deprecated use PanelDataSummary.fieldCountByType(FieldType.number) */ numberFieldCount: number; /** @deprecated use PanelDataSummary.fieldCountByType(FieldType.time) */ timeFieldCount: number; /** @deprecated use PanelDataSummary.fieldCountByType(FieldType.string) */ stringFieldCount: number; /** @deprecated use PanelDataSummary.hasFieldType(FieldType.number) */ hasTimeField?: boolean; /** @deprecated use PanelDataSummary.hasFieldType(FieldType.time) */ hasNumberField?: boolean; /** @deprecated use PanelDataSummary.hasFieldType(FieldType.string) */ hasStringField?: boolean; } /** * @alpha * given a list of dataframes, summarize attributes of those frames for features like suggestions. * @param frames - dataframes to summarize * @returns summary of the dataframes */ export declare function getPanelDataSummary(frames?: DataFrame[]): PanelDataSummary;