import { HTMLWidget } from "./HTMLWidget.ts";
import { Widget } from "./Widget.ts";
import "../src/TitleBar.css";
export declare class Button extends HTMLWidget {
    private _enabled;
    private _i;
    constructor();
    enter(domNode: HTMLElement, element: any): void;
    update(domNode: HTMLElement, element: any): void;
    click(): void;
    mouseMove(d: any, idx: any, groups: any): void;
    mouseOut(d: any, idx: any, groups: any): void;
    enabled(): boolean;
    enabled(_: boolean): this;
}
export interface Button {
    faChar(): string;
    faChar(_: string): this;
    tooltip(): string;
    tooltip(_: string): this;
}
export declare class StickyButton extends Button {
    enter(domNode: HTMLElement, element: any): void;
    update(domNode: HTMLElement, element: any): void;
}
export interface StickyButton {
    selected(): boolean;
    selected(_: boolean): this;
}
export declare class ToggleButton extends StickyButton {
    enter(domNode: HTMLElement, element: any): void;
}
export declare class Spacer extends HTMLWidget {
    enter(domNode: HTMLElement, element: any): void;
}
export interface Spacer {
    vline(): boolean;
    vline(_: boolean): this;
}
export declare class SelectDropDown extends HTMLWidget {
    private _enabled;
    constructor();
    enabled(): boolean;
    enabled(_: boolean): this;
    enter(domNode: HTMLSelectElement, element: any): void;
    update(domNode: HTMLElement, element: any): void;
    click(value: any): void;
    mouseMove(d: any, idx: any, groups: any): void;
    mouseOut(d: any, idx: any, groups: any): void;
}
export interface SelectDropDown {
    values(): {
        [key: string]: string;
    };
    values(_: {
        [key: string]: string;
    }): this;
    selected(): string;
    selected(_: string): this;
    tooltip(): string;
    tooltip(_: string): this;
}
export declare class IconBar extends HTMLWidget {
    _divIconBar: any;
    _buttons: Widget[];
    constructor();
    enter(domNode: any, element: any): void;
    update(domNode: any, element: any): void;
    exit(domNode: any, element: any): void;
}
export interface IconBar {
    buttons(): Widget[];
    buttons(_: Widget[]): this;
    hiddenButtons(): Widget[];
    hiddenButtons(_: Widget[]): this;
}
export declare class SelectionButton extends StickyButton {
    _owner: SelectionBar;
    enter(domNode: HTMLElement, element: any): void;
    selected(): boolean;
    selected(_: boolean): this;
}
export declare class SelectionBar extends IconBar {
    buttons(): Array<SelectionButton | Spacer>;
    buttons(_: Array<SelectionButton | Spacer>): this;
    selected(row: SelectionButton): void;
}
export declare class TitleBar extends IconBar {
    _divTitle: any;
    _divTitleIcon: any;
    _divTitleText: any;
    _divDescriptionText: any;
    constructor();
    enter(domNode: any, element: any): void;
    update(domNode: any, element: any): void;
}
export interface TitleBar {
    title(): string;
    title(_: string): this;
    titleIcon(): string;
    titleIcon(_: string): this;
    titleIconFont(): string;
    titleIconFont(_: string): this;
    titleFont(): string;
    titleFont(_: string): this;
    titleIconFontSize(): number;
    titleIconFontSize(_: number): this;
    titleFontSize(): number;
    titleFontSize(_: number): this;
    description(): string;
    description(_: string): this;
    description_exists(): boolean;
    descriptionFont(): string;
    descriptionFont(_: string): this;
    descriptionFontSize(): number;
    descriptionFontSize(_: number): this;
}
