import { ZeniAPIStatus } from '../zeniAPIStatus'; /** * Type for the unique Zeni IDs (Ex. user Id, tenant Id etc..). * Use this type to be explicit that we expect unique ID not just a plain string!! */ export type ID = string; /** * Used to specify how to update the entities in redux state * when there is a matching entity already present with the same ID. * 'replace' - replace the existing entity object with the new object of the same ID, (i.e) discard old values * 'merge' - merge the existing object's values with new object value. */ export type UpdateType = 'replace' | 'merge'; export type FetchState = 'Not-Started' | 'In-Progress' | 'Completed' | 'Error'; export declare const toCompletionStatusType: (v: string) => "incomplete" | "complete"; export type CompletionStatusType = ReturnType; /** common interface for all the fetched states */ export interface FetchStateAndError { fetchState: FetchState; error?: ZeniAPIStatus; } export interface FetchedState extends FetchStateAndError { hasValidState(): boolean; } export type Mode = 'forecast_mode' | 'compare_mode' | 'off'; export type AccountViewMode = 'classes' | 'account_group' | 'project'; export interface FullName { firstName: string; lastName: string; } export declare const getUnderScoreKey: (keys: string[]) => string;