import { Ribbon } from './../index';
import { RibbonFileMenu } from './../index';
import { AfterViewInit, ElementRef, OnInit, OnChanges, OnDestroy, SimpleChanges, EventEmitter } from '@angular/core';
import { BaseElement } from './smart.element';
import * as i0 from "@angular/core";
export { RibbonFileMenuPosition, RibbonFileMenuType, RibbonFileMenu, ElementRenderMode } from './../index';
export { Smart } from './smart.element';
export { Ribbon } from './../index';
export declare class RibbonComponent extends BaseElement implements OnInit, AfterViewInit, OnDestroy, OnChanges {
    constructor(ref: ElementRef<Ribbon>);
    private eventHandlers;
    nativeElement: Ribbon;
    /** @description Creates the component on demand.
     * @param properties An optional object of properties, which will be added to the template binded ones.
     */
    createComponent(properties?: {}): any;
    /** @description Determines whether the ribbon is collapsible. */
    get collapsible(): any;
    set collapsible(value: any);
    /** @description Determines the tab items of the ribbon. */
    get dataSource(): any;
    set dataSource(value: any);
    /** @description Sets or gets the value indicating whether the element is disabled. */
    get disabled(): boolean;
    set disabled(value: boolean);
    /** @description Determines the file menu options of the ribbon. */
    get fileMenu(): RibbonFileMenu;
    set fileMenu(value: RibbonFileMenu);
    /** @description Determines the locale of the ribbon. */
    get locale(): string;
    set locale(value: string);
    /** @description Determines the messages of the ribbon */
    get messages(): any;
    set messages(value: any);
    /** @description Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. */
    get rightToLeft(): boolean;
    set rightToLeft(value: boolean);
    /** @description Determines the selected tab. */
    get selectedTab(): any;
    set selectedTab(value: any);
    /** @description This event is triggered when the ribbon is collapsed.
    *  @param event. The custom event. 	*/
    onCollapse: EventEmitter<CustomEvent>;
    /** @description This event is triggered when the ribbon is collapsing. The event can be canceled by calling event.preventDefault() in the event handler function.
    *  @param event. The custom event. 	*/
    onCollapsing: EventEmitter<CustomEvent>;
    /** @description This event is triggered when the dialog launcher is clicked.
    *  @param event. The custom event. 	Custom event was created with: event.detail(	groupLabel, 	groupId)
    *   groupLabel - The label of the dialog launcher's ribbon group.
    *   groupId - The id of the dialog launcher's ribbon group.
    */
    onDialogLauncherClick: EventEmitter<CustomEvent>;
    /** @description This event is triggered when the ribbon is expanded.
    *  @param event. The custom event. 	*/
    onExpand: EventEmitter<CustomEvent>;
    /** @description This event is triggered when the ribbon is expanding. The event can be canceled by calling event.preventDefault() in the event handler function.
    *  @param event. The custom event. 	*/
    onExpanding: EventEmitter<CustomEvent>;
    /** @description This event is triggered when the file menu button is clicked.
    *  @param event. The custom event. 	*/
    onFileButtonClick: EventEmitter<CustomEvent>;
    /** @description This event is triggered when the file menu is opened.
    *  @param event. The custom event. 	*/
    onFileMenuOpen: EventEmitter<CustomEvent>;
    /** @description This event is triggered when the file menu is closed.
    *  @param event. The custom event. 	*/
    onFileMenuClose: EventEmitter<CustomEvent>;
    /** @description This event is triggered when a file menu item is clicked.
    *  @param event. The custom event. 	Custom event was created with: event.detail(	item)
    *   item - The file menu item.
    */
    onFileMenuItemClick: EventEmitter<CustomEvent>;
    /** @description This event is triggered when the tab selection is changed.
    *  @param event. The custom event. 	Custom event was created with: event.detail(	oldIndex, 	index)
    *   oldIndex - The previous tab index.
    *   index - The new index of the selected tab.
    */
    onSelect: EventEmitter<CustomEvent>;
    /** @description This event is triggered when the tab selection is changing. The event can be canceled by calling event.preventDefault() in the event handler function.
    *  @param event. The custom event. 	Custom event was created with: event.detail(	oldIndex, 	index)
    *   oldIndex - The previous tab index.
    *   index - The new index of the selected tab.
    */
    onSelecting: EventEmitter<CustomEvent>;
    /** @description Adds a new ribbon tab to the ribbon. The tab can be added as an object, HTMLElement or id to an HTMLElement.
    * @param {any} tab. The ribbon tab to be added.
    */
    addTab(tab: any): void;
    /** @description Adds a new group to a ribbon tab. The group can be added as an object, HTMLElement or id to an HTMLElement.
    * @param {any} tab. The id, index or HTMLElement  of the parent ribbon tab.
    * @param {any} group. The ribbon group to be added.
    */
    addGroup(tab: any, group: any): void;
    /** @description Adds a new ribbon item to a ribbon group. The item can be added as an object, HTMLElement or id to an HTMLElement.
    * @param {string | number | HTMLElement} tab. The id, index or HTMLElement  of the parent ribbon tab.
    * @param {string | HTMLElement} group. The id or HTMLElement of the parent ribbon group.
    * @param {any} item. The ribbon item to be added.
    */
    addItem(tab: string | number | HTMLElement, group: string | HTMLElement, item: any): void;
    /** @description Collapses the ribbon.
    */
    collapse(): void;
    /** @description Expands the ribbon.
    */
    expand(): void;
    /** @description Removes a ribbon tab from the ribbon.
    * @param {string | number} ribbonTab. The id or index of the ribbon tab to be removed.
    */
    removeTab(ribbonTab: string | number): void;
    /** @description Removes a ribbon group from a ribbon tab.
    * @param {string | number} ribbonTabIndex?. The id or index of the parent ribbon tab.
    * @param {string | number} ribbonGroup?. The id or index of the ribbon group to be removed.
    */
    removeGroup(ribbonTabIndex?: string | number, ribbonGroup?: string | number): void;
    /** @description Removes a ribbon item from a ribbon group.
    * @param {string | number} ribbonTabIndex?. The id or index of the parent ribbon tab.
    * @param {string | number} ribbonGroup?. The id or index of the parent ribbon group.
    * @param {string | number} ribbonItem?. The id or index of the ribbon item to be removed.
    */
    removeItem(ribbonTabIndex?: string | number, ribbonGroup?: string | number, ribbonItem?: string | number): void;
    /** @description Selects a ribbon tab.
    * @param {string | number} ribbonTabIndex. The index of the ribbon tab to be selected.
    */
    selectTab(ribbonTabIndex: string | number): void;
    get isRendered(): boolean;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    ngOnChanges(changes: SimpleChanges): void;
    /** @description Add event listeners. */
    private listen;
    /** @description Remove event listeners. */
    private unlisten;
    static ɵfac: i0.ɵɵFactoryDeclaration<RibbonComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<RibbonComponent, "smart-ribbon, [smart-ribbon]", ["smart-ribbon"], { "collapsible": "collapsible"; "dataSource": "dataSource"; "disabled": "disabled"; "fileMenu": "fileMenu"; "locale": "locale"; "messages": "messages"; "rightToLeft": "rightToLeft"; "selectedTab": "selectedTab"; }, { "onCollapse": "onCollapse"; "onCollapsing": "onCollapsing"; "onDialogLauncherClick": "onDialogLauncherClick"; "onExpand": "onExpand"; "onExpanding": "onExpanding"; "onFileButtonClick": "onFileButtonClick"; "onFileMenuOpen": "onFileMenuOpen"; "onFileMenuClose": "onFileMenuClose"; "onFileMenuItemClick": "onFileMenuItemClick"; "onSelect": "onSelect"; "onSelecting": "onSelecting"; }, never>;
}
