/// <reference types="jquery" />
import { Event, EventHandler, GlassPaneContribution, InitModelOf, PropertyChangeEvent, SimpleTabEventMap, SimpleTabModel, Status, Widget } from '../index';
export type DisplayViewId = 'N' | 'NE' | 'E' | 'SE' | 'S' | 'SW' | 'W' | 'NW' | 'C' | 'OUTLINE' | 'OUTLINE_SELECTOR' | 'PAGE_DETAIL' | 'PAGE_SEARCH' | 'PAGE_TABLE';
export declare class SimpleTab<TView extends SimpleTabView = SimpleTabView> extends Widget implements SimpleTabModel<TView> {
    model: SimpleTabModel<TView>;
    eventMap: SimpleTabEventMap<TView>;
    self: SimpleTab<any>;
    view: TView;
    title: string;
    subTitle: string;
    iconId: string;
    closable: boolean;
    saveNeeded: boolean;
    saveNeededVisible: boolean;
    status: Status;
    selected: boolean;
    $title: JQuery;
    $subTitle: JQuery;
    $iconContainer: JQuery;
    $statusContainer: JQuery;
    $close: JQuery;
    $titleLine: JQuery;
    $saveNeeded: JQuery;
    $statusIcons: JQuery[];
    protected _statusContainerUsageCounter: number;
    protected _viewPropertyChangeListener: EventHandler<PropertyChangeEvent>;
    protected _viewRemoveListener: EventHandler<Event<TView>>;
    protected _glassPaneContribution: GlassPaneContribution;
    constructor();
    protected _init(model: InitModelOf<this>): void;
    renderAfter($parent: JQuery, sibling?: Widget): void;
    protected _render(): void;
    protected _renderProperties(): void;
    protected _remove(): void;
    setTitle(title: string): void;
    protected _renderTitle(): void;
    setSubTitle(subTitle: string): void;
    protected _renderSubTitle(): void;
    setIconId(iconId: string): void;
    protected _renderIconId(): void;
    setClosable(closable: boolean): void;
    protected _renderClosable(): void;
    setSaveNeededVisible(saveNeededVisible: boolean): void;
    setSaveNeeded(saveNeeded: boolean): void;
    protected _renderSaveNeeded(): void;
    setStatus(status: Status): void;
    protected _renderStatus(): void;
    select(): void;
    deselect(): void;
    setSelected(selected: boolean): void;
    protected _renderSelected(): void;
    protected _onMouseDown(event: JQuery.MouseDownEvent): void;
    protected _onClose(event: JQuery.ClickEvent): void;
    getMenuText(): string;
    protected _installViewListeners(): void;
    protected _uninstallViewListeners(): void;
    protected _onViewPropertyChange(event: PropertyChangeEvent): void;
    /**
     * We cannot not bind the 'remove' event of the view to the remove function
     * of this tab, because in bench-mode the tab is never rendered
     * and thus the _remove function is never called.
     */
    protected _onViewRemove(event: Event<TView>): void;
}
export interface SimpleTabView extends Widget {
    title?: string;
    subTitle?: string;
    iconId?: string;
    closable?: boolean;
    saveNeeded?: boolean;
    saveNeededVisible?: boolean;
    status?: Status;
    displayViewId?: DisplayViewId;
    abort?: () => void;
}
//# sourceMappingURL=SimpleTab.d.ts.map