import { PerfMarker, PerfMarkerDetails } from './PerfMarker'; declare const AVAILABLE_COLORS: readonly ["primary", "primary-light", "primary-dark", "secondary", "secondary-light", "secondary-dark", "tertiary", "tertiary-light", "tertiary-dark"]; type DevToolsColor = (typeof AVAILABLE_COLORS)[number]; export type DevToolsMarkerDetails = { label: string; track: string; trackGroup?: string; color?: DevToolsColor; details?: PerfMarkerDetails; tooltip?: string; startTs?: DOMHighResTimeStamp; endTs?: DOMHighResTimeStamp; }; type HasRequiredProps = T extends Record ? false : { [K in keyof T]-?: {} extends Pick ? never : K; }[keyof T] extends never ? false : true; type EndMethod> = HasRequiredProps extends true ? (markerDetails: T) => DevToolsMarker : (markerDetails?: T) => DevToolsMarker; export declare class DevToolsMarker implements PerfMarker { readonly adaptableId: string; static create(adaptableId: string): DevToolsMarker; private markerDetails; private stopped; private constructor(); start: (startDetails?: { details?: DevToolsMarkerDetails["details"]; }) => this; get startTimestamp(): number; get track(): { readonly Init: { start: DevToolsMarker["start"]; end: (markerDetails: Omit & { label: "Init" | "InitStore" | "LoadStore" | "InitAGGrid"; }) => DevToolsMarker; label: { readonly Init: { end: EndMethod>; start: DevToolsMarker["start"]; }; readonly InitStore: { end: EndMethod>; start: DevToolsMarker["start"]; }; readonly LoadStore: { end: EndMethod>; start: DevToolsMarker["start"]; }; readonly InitAGGrid: { end: EndMethod>; start: DevToolsMarker["start"]; }; }; }; readonly LayoutManager: { start: DevToolsMarker["start"]; end: (markerDetails: Omit & { label: "SetLayout" | "ApplyPivotLayout" | "ApplyTableLayout"; }) => DevToolsMarker; label: { readonly SetLayout: { end: EndMethod>; start: DevToolsMarker["start"]; }; readonly ApplyPivotLayout: { end: EndMethod>; start: DevToolsMarker["start"]; }; readonly ApplyTableLayout: { end: EndMethod>; start: DevToolsMarker["start"]; }; }; }; readonly Runtime: { start: DevToolsMarker["start"]; end: (markerDetails: Omit & { label: "SetLayout"; }) => DevToolsMarker; label: { readonly SetLayout: { end: EndMethod>; start: DevToolsMarker["start"]; }; }; }; readonly Redux: { start: DevToolsMarker["start"]; end: (markerDetails: Omit & { label: "Action"; }) => DevToolsMarker; label: { readonly Action: { end: EndMethod>; start: DevToolsMarker["start"]; }; }; }; }; end: (markerDetails?: Partial) => this; } export declare function areAdaptableProfileTracksEnabled(adaptableId: string | undefined): boolean; export declare function getMarker(adaptableId: string): DevToolsMarker; export type { PerfMarker };