import { Context } from '../../../../../client/context';
import { Element } from '../../../../../client/element';
import { System } from '../../../../../system';
import { Dict } from '../../../../../types/Dict';
import Div from '../../Div/Component';
import Color from '../../value/Color/Component';
import Cabinet from '../Cabinet/Component';
import IconButton from '../IconButton/Component';
import Minimap from '../Minimap/Component';
import Modes from '../ModeSelector/Component';
import Search from '../Search/Component';
export interface Props {
    className?: string;
    style?: Dict<string>;
}
export declare const DEFAULT_UNIT_ID = "unit";
export declare const DEFAULT_STYLE: {
    position: string;
    width: string;
    height: string;
    overflow: string;
    zIndex: string;
};
export default class GUI extends Element<HTMLDivElement, Props> {
    _container: Div;
    _gui: Div;
    _background: Div;
    _search: Search;
    _modes: Modes;
    _cabinet: Cabinet;
    _minimap: Minimap;
    _color_picker: Color;
    _color_pallete: Div;
    _share: Div;
    _import: IconButton;
    _folder: IconButton;
    _export: IconButton;
    _history: Div;
    private _hidden;
    private _manually_changed_color;
    constructor($props: Props, $system: System);
    private _get_color;
    private _background_color;
    private _refresh_pointer_events;
    private _refresh_color;
    onPropChanged(prop: string, current: any): void;
    private _init;
    private _context_unlisten;
    onMount(): void;
    onUnmount($context: Context): void;
    private _on_context_theme_changed;
    private _on_context_color_changed;
    hide(animate?: boolean): void;
    is_hidden(): boolean;
    private _animate_background;
    private _animate_search;
    hide_background: (animate: boolean) => void;
    hide_search: (animate: boolean) => void;
    private _modes_animation;
    private _search_animation;
    private _animate_modes;
    hide_modes: (animate?: boolean) => void;
    hide_cabinet: (animate: boolean) => void;
    show_background: (animate: boolean) => void;
    show_search: (animate: boolean) => void;
    show_modes: (animate: boolean) => void;
    show_cabinet: (animate: boolean) => void;
    show_tooltips: () => void;
    hide_tooltips: () => void;
    show(animate: boolean): void;
}
