import { ClassNameMap } from '@material-ui/core/styles/withStyles';
export type RealTimeType = {
    name: string;
    key: string;
    unitType?: string;
    unit?: string;
    color?: string;
    precision?: number;
    category?: string;
    collection?: string;
};
export type RealTimeBoxEditDialogProps = {
    isDialogOpen: boolean;
    paramToEdit: string | null;
    handleCloseRealTimeDialog: () => void;
};
export type Theme = {
    isLightTheme: boolean;
};
interface RealTimeSidebarClasses {
    wrapper?: string;
    contentTitle?: string;
    content?: string;
    item?: string;
    itemTitle?: string;
    itemTitleBorder?: string;
    itemValue?: string;
    itemSeparator?: string;
    buttons?: string;
    footer?: string;
}
export type RealtimeSidebarProps = {
    theme: Theme;
    isResponsive: boolean;
    isSidebarOpen: boolean;
    handleOpenCloseSidebar: (isOpen: boolean) => void;
    onAppSettingChange: (key: string, value: Record<string, string[]>) => void;
    appSettings: Record<string, Record<string, string[]>>;
    assetKey: string;
    setting: string[];
    realTimeTypes: RealTimeType[];
    isDialogOpen: boolean;
    paramToEdit: string;
    handleOpenCloseDialog: (isOpen: boolean) => void;
    sourceArray: RealTimeBoxItem[];
    findSource: (param: string, realTimeTypes: RealTimeType[]) => RealTimeBoxItem | null;
    handleChangeParamToEdit: (item: string) => void;
    sidebarHorizontalHeight?: number;
    onLayoutChange?: (height: number) => void;
    classes?: ClassNameMap<keyof RealTimeSidebarClasses>;
};
export type RealTimeBoxItem = {
    name: string;
    value: string | number;
    key: string;
    color: string;
    unitType: string;
    unitTo?: string;
};
export type RealTimeBoxProps = {
    item?: RealTimeBoxItem;
    itemSelected?: number;
    dragHandle?: (param: JSX.Element) => void;
    isDraggable?: boolean;
    handleClick?: () => void;
    classNames?: Partial<ClassNameMap<keyof RealTimeSidebarClasses>>;
};
export type RealTimeBoxListProps = {
    sourceArray: RealTimeBoxItem[];
    findSource: (param: string, realTimeTypes: RealTimeType[]) => RealTimeBoxItem | null;
    classNames?: Partial<ClassNameMap<keyof RealTimeSidebarClasses>>;
};
export type SidebarFooterProps = {
    onSidebarOpened: () => void;
    onSidebarClosed: () => void;
    className?: string;
};
export {};
//# sourceMappingURL=types.d.ts.map