/**
 * Callout
 */
export interface ICallout {
    _addTarget: HTMLDivElement;
    _closeButton: HTMLButtonElement;
    _container: HTMLDivElement;
    _contextualHost: IContextualHost;
    _position: string;
}
/**
 * CheckBox
 */
export interface ICheckBox {
    _choiceField: HTMLLabelElement;
    _choiceInput: HTMLInputElement;
    _container: HTMLDivElement;
    /** Checks the checkbox. */
    check(): any;
    /** Gets the value of the checkbox. */
    getValue(): boolean;
    /** Removes the event listeners. */
    removeListeners(): any;
    /** Toggles the checkbox. */
    toggle(): any;
    /** Unchecks the checkbox. */
    unCheck(): any;
}
/**
 * Command Bar
 */
export interface ICommandBar {
    _container: HTMLDivElement;
}
/**
 * Command Button
 */
export interface ICommandButton {
    _command: HTMLButtonElement;
    _commandButton: HTMLButtonElement;
    _container: HTMLDivElement;
    _contextualMenu: HTMLUListElement;
    _modalHostView: IContextualHost;
}
/**
 * Contextual Host
 */
export interface IContextualHost {
    _arrow: HTMLDivElement;
    _container: HTMLDivElement;
    _contextualHost: HTMLDivElement;
    _contextualHostMain: HTMLDivElement;
    _direction: string;
    _findAvailablePosition: Function;
    _hasArrow: boolean;
    _matchTargetWidth: boolean;
    _openModal: Function;
    _saveModalSize: Function;
    contains(value: HTMLElement): any;
    disposeModal(): any;
    setChildren(value: IContextualHost): any;
}
/**
 * Contextual Menu
 */
export interface IContextualMenu {
    _container: HTMLDivElement;
    _host: IContextualHost;
    _hostTarget: HTMLDivElement;
    _isOpen: boolean;
    _position: string;
}
/**
 * Date Picker
 */
export interface IDatePicker {
    picker: {
        $node: Array<HTMLInputElement>;
        $root: Array<HTMLDivElement>;
        component: {
            formats: any;
            item: any;
            key: any;
            queue: any;
            settings: any;
        };
        clear: Function;
        close: Function;
        get: Function;
        off: Function;
        on: Function;
        open: Function;
        set: Function;
        start: Function;
        stop: Function;
    };
}
/**
 * Dialog
 */
export interface IDialog {
    _actionButtonElements: Array<HTMLButtonElement>;
    _closeButtonElement: HTMLButtonElement;
    _dialog: HTMLDivElement;
    close(): any;
    open(): any;
}
/**
 * List
 */
export interface IList {
    _container: HTMLUListElement;
    _listItemComponents: Array<IListItem>;
}
/**
 * List Item
 */
export interface IListItem {
    _container: HTMLLIElement;
    _toggleElement: HTMLDivElement;
}
/**
 * Overlay
 */
export interface IOverlay {
    overlayElement: HTMLDivElement;
    hide(): any;
    remove(): any;
    show(): any;
}
/**
 * Panel Component
 */
export interface IPanel {
    _animateOverlay: boolean;
    _clickHandler: EventListener;
    _closeButton: HTMLElement;
    _direction: string;
    _panel: HTMLDivElement;
    panelHost: IPanelHost;
    /**
     * Closes the panel.
     * @param callback - Optional callback method.
     */
    dismiss(callback?: Function): any;
}
/**
 * Panel Host Component
 */
export interface IPanelHost {
    overlay: IOverlay;
    panelHost: HTMLDivElement;
    dismiss(): any;
    update(layer: Node, callback?: Function): any;
}
/**
 * People Picker Component
 */
export interface IPeoplePicker {
    _container: HTMLDivElement;
    _contextualHostView: IContextualHost;
    _isContextualMenuOpen: boolean;
    _peoplePickerMenu: HTMLDivElement;
    _peoplePickerSearch: HTMLInputElement;
    _peoplePickerSearchBox: HTMLDivElement;
    _peoplePickerResults: Array<HTMLDivElement>;
    _selectedCount: HTMLDivElement;
    _selectedPeople: HTMLDivElement;
    _selectedPlural: HTMLDivElement;
    _selectResult(ev: Event): any;
}
/**
 * Pivot
 */
export interface IPivot {
    _container: HTMLDivElement;
}
/**
 * Search Box Component
 */
export interface ISearchBox {
    _clearOnly: boolean;
    _container: HTMLDivElement;
    _searchBox: HTMLDivElement;
    _searchBoxClearButton: HTMLDivElement;
    _searchBoxExitButton?: HTMLDivElement;
    _searchBoxField: HTMLInputElement;
}
/**
 * Spinner Component
 */
export interface ISpinner {
    animationSpeed: number;
    eightSize: number;
    fadeIncrement: number;
    interval: number;
    numCircles: number;
    offsetSize: number;
    parentSize: number;
    spinner: HTMLElement;
    start(): any;
    stop(): any;
}
/**
 * Table
 */
export interface ITable {
    container: HTMLTableElement;
}
/**
 * Text Field Component
 */
export interface ITextField {
    _container: HTMLDivElement;
    _textField: HTMLInputElement;
    _textFieldLabel: HTMLLabelElement;
}
/**
 * Toggle Component
 */
export interface IToggle {
    _container: HTMLDivElement;
}
