import { ILocalizedStrings } from '../controls/LocalizedStrings';
import { Device, Frame, NodeStatus, LogMessage, MeasurementSetup, OnlineStatus, StatusLevel, ILogFileFormat, IUserSettings, IWorkspacePaneData } from '../models';
/**
 * A hook for user settings.
 * @returns The user settings.
 */
export declare const useUserSettings: () => IUserSettings;
/**
 * Hook keeping track of the selected radix for converting numeric values to strings.
 * @returns The selected numeric radix.
 */
export declare const useNumericRadix: () => number;
/**
 * Hook keeping track of the selected radix for converting numeric values to strings.
 */
export declare const useMaxDataBytes: () => number;
/**
 * Hook keeping track of the selected language.
 * @returns The selected language.
 */
export declare const useLanguage: () => string;
/**
 * Hook keeping track of localized strings.
 * @returns The localized strings object.
 */
export declare const useLocalizedStrings: () => ILocalizedStrings;
/**
 * Hook keeping track of recent project files.
 */
export declare const useRecentProjectFiles: () => string[];
/**
 * A hook for hardware devices.
 * @returns The hardware devices.
 */
export declare const useDevices: () => Device[] | null;
/**
 * A hook for measurement setup.
 * @returns The measurement setup.
 */
export declare const useMeasurementSetup: () => MeasurementSetup;
/**
 * A hook for measurement status.
 * @returns The measurement status.
 */
export declare const useMeasurementStatus: () => NodeStatus[];
/**
 * Hook to get status for one node.
 * @returns The node status.
 */
export declare const useNodeStatus: (id: string) => NodeStatus | null;
/**
 * Hook to get the measurement's highest overall status level.
 * @returns The measurement's highest overall status.
 */
export declare const useOverallStatusLevel: () => StatusLevel;
/**
 * A hook for online status.
 * @returns The online status.
 */
export declare const useOnlineStatus: () => OnlineStatus;
/**
 * Hook keeping track of if the measurement is online.
 * @returns A flag that indicates if a measurement is started.
 */
export declare const useIsOnline: () => boolean;
/**
 * A hook for running periodic transmissions.
 * @returns The running periodic transmissions.
 */
export declare const useRunningPeriodicTransmissions: () => string[];
/**
 * A hook for log messages.
 * @returns The log messages.
 */
export declare const useLogMessages: () => LogMessage[];
/**
 * A hook for new measurement data.
 * @param numberOfHistoryFrames - Optional number of history frames to read from data buffer when this hook initializes.
 * @param predicate - An optional predicate to filter out which data to return.
 * @returns The new measurement data.
 */
export declare const useNewMeasurementData: (numberOfHistoryFrames?: number, predicate?: (frame: Frame) => boolean) => Frame[];
/**
 * A hook for data that should be saved to the current project.
 * @param id - The unique id of the view.
 * @param defaultValue - The default value or a callback to set default value.
 * @returns An object with a flag indicating if the project data has been initialized, the current project data and a setter callback.
 */
export declare const useProjectData: <T>(id: number, defaultValue?: T) => {
    projectDataIsInitialized: boolean;
    projectData: T;
    setProjectData: React.Dispatch<React.SetStateAction<T>>;
};
/**
 * A hook for data that should be saved to the session data.
 * @param id - The unique id of the view.
 * @param defaultValue - The default value or a callback to set default value.
 * @returns An object with a flag indicating if the session data has been initialized, the current session data and a setter callback.
 */
export declare const useSessionData: <T>(id: number, defaultValue?: T) => {
    sessionDataIsInitialized: boolean;
    sessionData: T;
    setSessionData: React.Dispatch<React.SetStateAction<T>>;
};
/**
 * Hook to get/set a workspace pane by id.
 */
export declare const useWorkspacePaneWithId: (id: number) => IWorkspacePaneData | null;
/**
 * Hook keeping track of message log file formats.
 * @param read_support - Optional flag to indicate if read support is required.
 */
export declare const useMessageLogFileFormats: (read_support?: boolean) => ILogFileFormat[];
/**
 * Hook keeping track of signal log file formats.
 */
export declare const useSignalLogFileFormats: () => ILogFileFormat[];
