/// <reference types="react" resolution-mode="require"/>
import * as t from 'io-ts';
import { ValueOf } from '../../kit/utils/types';
export type Primitive = boolean | number | string;
export type RecordKey = string | number | symbol;
export type NullOrUndefined<T = undefined> = T | null | undefined;
export type Range<T = Primitive> = [T, T];
export type RawJson = Record<string, any>;
export declare const Scale: {
    readonly Linear: "linear";
    readonly Log: "log";
};
export type Scale = ValueOf<typeof Scale>;
interface EndTimes {
    endTime?: string;
}
export declare const CheckpointState: {
    readonly Active: "ACTIVE";
    readonly Completed: "COMPLETED";
    readonly Deleted: "DELETED";
    readonly Error: "ERROR";
    readonly PartiallyDeleted: "PARTIALLY_DELETED";
    readonly Unspecified: "UNSPECIFIED";
};
export type CheckpointState = ValueOf<typeof CheckpointState>;
interface BaseWorkload extends EndTimes {
    totalBatches: number;
}
interface CheckpointWorkload extends BaseWorkload {
    resources?: Record<string, number>;
    state: CheckpointState;
    uuid?: string;
}
interface CheckpointWorkloadExtended extends CheckpointWorkload {
    experimentId: number;
    trialId: number;
}
export type XAxisVal = number;
export type CheckpointsDict = Record<XAxisVal, CheckpointWorkloadExtended>;
export interface SettingsConfigProp<A> {
    defaultValue: A;
    skipUrlEncoding?: boolean;
    storageKey: string;
    type: t.Type<A>;
}
export interface SettingsConfig<T> {
    settings: {
        [K in keyof T]: SettingsConfigProp<T[K]>;
    };
    storagePath: string;
}
export interface FetchArgs {
    url: string;
    options: any;
}
/**
 * DarkLight is a resolved form of `Mode` where we figure out
 * what `Mode.System` should ultimate resolve to (`Dark` vs `Light).
 */
export declare const DarkLight: {
    readonly Dark: "dark";
    readonly Light: "light";
};
export type DarkLight = ValueOf<typeof DarkLight>;
export interface ClassNameProp {
    /** classname to be applied to the base element */
    className?: string;
}
export type AnyMouseEvent = MouseEvent | React.MouseEvent;
export type AnyMouseEventHandler = (event: AnyMouseEvent) => void;
export interface Document {
    contents: string;
    name: string;
}
export interface User {
    displayName?: string;
    id: number;
    modifiedAt?: number;
    username: string;
}
export declare const LogLevel: {
    readonly Critical: "critical";
    readonly Debug: "debug";
    readonly Error: "error";
    readonly Info: "info";
    readonly None: "none";
    readonly Trace: "trace";
    readonly Warning: "warning";
};
export type LogLevel = ValueOf<typeof LogLevel>;
export declare const LogLevelFromApi: {
    readonly Critical: "LOG_LEVEL_CRITICAL";
    readonly Error: "LOG_LEVEL_ERROR";
    readonly Warning: "LOG_LEVEL_WARNING";
    readonly Info: "LOG_LEVEL_INFO";
    readonly Debug: "LOG_LEVEL_DEBUG";
    readonly Trace: "LOG_LEVEL_TRACE";
    readonly Unspecified: "LOG_LEVEL_UNSPECIFIED";
};
export type LogLevelFromApi = ValueOf<typeof LogLevelFromApi>;
export interface Log {
    id: number | string;
    level?: LogLevel;
    message: string;
    meta?: string;
    time: string;
}
export interface SsoProvider {
    name: string;
    ssoUrl: string;
}
export declare const BrandingType: {
    readonly Determined: "determined";
    readonly HPE: "hpe";
};
export type BrandingType = ValueOf<typeof BrandingType>;
export declare const RunState: {
    readonly Active: "ACTIVE";
    readonly Canceled: "CANCELED";
    readonly Completed: "COMPLETED";
    readonly Deleted: "DELETED";
    readonly DeleteFailed: "DELETE_FAILED";
    readonly Deleting: "DELETING";
    readonly Error: "ERROR";
    readonly Paused: "PAUSED";
    readonly Pulling: "PULLING";
    readonly Queued: "QUEUED";
    readonly Running: "RUNNING";
    readonly Starting: "STARTING";
    readonly StoppingCanceled: "STOPPING_CANCELED";
    readonly StoppingCompleted: "STOPPING_COMPLETED";
    readonly StoppingError: "STOPPING_ERROR";
    readonly StoppingKilled: "STOPPING_KILLED";
    readonly Unspecified: "UNSPECIFIED";
};
export type RunState = ValueOf<typeof RunState>;
export declare const CommandState: {
    readonly Pulling: "PULLING";
    readonly Queued: "QUEUED";
    readonly Running: "RUNNING";
    readonly Starting: "STARTING";
    readonly Terminated: "TERMINATED";
    readonly Terminating: "TERMINATING";
    readonly Waiting: "WAITING";
};
export type CommandState = ValueOf<typeof CommandState>;
export declare const JobState: {
    readonly QUEUED: "STATE_QUEUED";
    readonly SCHEDULED: "STATE_SCHEDULED";
    readonly SCHEDULEDBACKFILLED: "STATE_SCHEDULED_BACKFILLED";
    readonly UNSPECIFIED: "STATE_UNSPECIFIED";
};
export type JobState = ValueOf<typeof JobState>;
export declare const ResourceState: {
    readonly Assigned: "ASSIGNED";
    readonly Potential: "POTENTIAL";
    readonly Pulling: "PULLING";
    readonly Running: "RUNNING";
    readonly Starting: "STARTING";
    readonly Terminated: "TERMINATED";
    readonly Unspecified: "UNSPECIFIED";
    readonly Warm: "WARM";
};
export type ResourceState = ValueOf<typeof ResourceState>;
export declare const SlotState: {
    readonly Free: "FREE";
    readonly Pending: "PENDING";
    readonly Potential: "POTENTIAL";
    readonly Running: "RUNNING";
};
export type SlotState = ValueOf<typeof SlotState>;
export declare const WorkspaceState: {
    readonly Deleted: "DELETED";
    readonly DeleteFailed: "DELETE_FAILED";
    readonly Deleting: "DELETING";
    readonly Unspecified: "UNSPECIFIED";
};
export type WorkspaceState = ValueOf<typeof WorkspaceState>;
/**
 * @typedef Serie
 * Represents a single Series to display on the chart.
 * @param {string} [color] - A CSS-compatible color to directly set the line and tooltip color for the Serie. Defaults to glasbeyColor.
 * @param {Partial<Record<XAxisDomain, [x: number, y: number][]>>} data - An array of ordered [x, y] points for each axis.
 * @param {string} [name] - Name to display in legend and toolip instead of Series number.
 */
export interface Serie {
    color?: string;
    data: Partial<Record<XAxisDomain, [x: number, y: number][]>>;
    key?: number;
    name?: string;
}
export declare const XAxisDomain: {
    readonly Batches: "Batches";
    readonly Epochs: "Epoch";
    readonly Time: "Time";
};
export type XAxisDomain = ValueOf<typeof XAxisDomain>;
export {};
//# sourceMappingURL=types.d.ts.map