import { OnInit, ElementRef, EventEmitter } from '@angular/core';
import { CfCoreComponent } from '../core/core.component';
import { IconModel } from '../../models/icon/icon.model';
import { ToolbarModel } from '../../models/toolbar/toolbar.model';
import { ToolbarStylingModel } from '../../models/toolbar/toolbar-styling.model';
import { TemplateService } from '../../services/template-service/template.service';
/**
 * <p>Toolbar component based on Angular Material Toolbar and has a lot of extanded options</p>
 * <p>Example of using:</p>
 * <pre>
 * <code><</code>cf-toolbar [properties]="myToolbar" [styling]="myToolbarStyles"<code>></code><code><</code><code>/</code>cf-toolbar<code>></code>
 * </pre>
 */
export declare class CfToolbarComponent extends CfCoreComponent implements OnInit {
    elementRef: ElementRef;
    /**
     * Binding class to Toolbar host html element
     */
    toolbarMaximizedClass: string;
    /**
     * If toolbar is maximized. It means to be opened in Fullscreen state over everything else on the page
     */
    cfToolbarMaximized: boolean;
    /**
     * Property for main settings of app toolbars
     */
    mainSettings: {
        "info": {
            "order": string;
            "icon": {
                "name": string;
                "type": string;
                "size": string;
                "color": {
                    "foreground": string;
                    "background": string;
                };
            };
        };
        "content": {
            "order": string;
        };
        "actions": {
            "order": string;
            "icon": {
                "name": string;
                "type": string;
                "size": string;
                "color": {
                    "foreground": string;
                    "background": string;
                };
            };
        };
        "toggle": {
            "order": string;
            "minimizeIcon": {
                "name": string;
                "type": string;
                "size": string;
                "color": {
                    "foreground": string;
                    "background": string;
                };
            };
            "maximizeIcon": {
                "name": string;
                "type": string;
                "size": string;
                "color": {
                    "foreground": string;
                    "background": string;
                };
            };
        };
        "close": {
            "order": string;
            "icon": {
                "name": string;
                "type": string;
                "size": string;
                "color": {
                    "foreground": string;
                    "background": string;
                };
            };
        };
        "collapsible": {
            "order": string;
            "icon": {
                "name": string;
                "type": string;
                "size": string;
                "color": {
                    "foreground": string;
                    "background": string;
                };
            };
        };
    };
    /**
   * It is an attribute <b>[properties]</b> of directive <b>cf-toolbar</b> which take ToolbarModel object.
   * <p>Example of model:</p>
   * <pre>{
   *  template: 'my-toolbar-template-class',
     *	info: {
     *		show: true,
     *		icon: this.myInfoIcon,
     *		order: 'first-section'
     *	},
     *	content: {
     *		title: 'This is my toolbar title',
     *		order: 'second-section'
     *	},
     *	actions: {
     *		show: true,
     *		menu: this.myToobarMenu,
     * 		order: 'third-section'
     *	},
     *	close: {
     *		show: true,
     *		icon: this.myCloseIcon,
     *		order: 'fourth-section',
     *	},
     *	toggle: {
     *		show: true,
     *		minimizeIcon: this.myMinIcon,
     *		maximizeIcon: this.myMinIcon,
     *		order: 'fifth-section'
     *	},
     *	collapsible: {
     *		show: true,
     *		expanded: true,
     *		icon: this.myCollapsibleIcon
     *		order: 'fifth-section'
     *	}
   * }</pre>
   * <h4>template: string</h4>
   * Name of css class with styles for elements
   * <h4>info, content, actions, close, toggle, collapsible: object</h4>
   * Objects with data for toolbar sections
   * <h4>show: boolean</h4>
   * Property to show / hide specific toolbar section
   * <h4>order: string</h4>
   * Order of toolbar section. Can be: first-section, second-section, third-section, fourth-section, fifth-section, sixth-section
   * <h4>expanded: boolean</h4>
   * Toolbar collapsible section property to be used on some html element to show / hide it content
   */
    cfToolbar: ToolbarModel;
    cfStyling: ToolbarStylingModel;
    /**
     * IconModel data for toolbar info section
     */
    cfToolbarInfoIcon: IconModel;
    /**
     * IconModel data for toolbar actions section
     */
    cfToolbarActionsIcon: IconModel;
    /**
     * IconModel data for toolbar close section
     */
    cfToolbarCloseIcon: IconModel;
    /**
     * IconModel data for toolbar minimize icon
     */
    cfToolbarMinimizeIcon: IconModel;
    /**
     * IconModel data for toolbar maximize icon
     */
    cfToolbarMaximizeIcon: IconModel;
    /**
     * IconModel data for toolbar collapsible icon
     */
    cfToolbarCollapsibleIcon: IconModel;
    /**
     * If toolbar is in expanded state
     */
    cfToolbarExpanded: boolean;
    constructor(elementRef: ElementRef, /**@hidden */ templateService: TemplateService);
    /**
     * Input property with ToolbarModel data
     */
    properties: ToolbarModel;
    /**
     * Input property with ToolbarStylingModel data
     */
    styling: ToolbarStylingModel;
    /**
   * It is <b>cfOnToolbarInfo</b> output to emit event on info icon click
   */
    cfOnToolbarInfo: EventEmitter<any>;
    /**
     * function to emit info icon event
   * @param event  it is click event
     */
    toolbarInfoEvent(event: any): void;
    /**
   * It is <b>cfOnToolbarActionItem</b> output to emit event on actions menu item click
   */
    cfOnToolbarActionItem: EventEmitter<any>;
    /**
     * Function to emit acton menu item event
   * @param event  it is object with clicked menu item
     */
    toolbarActionItemEvent(event: any): void;
    /**
   * It is <b>cfOnToolbarToggle</b> output to emit event on toggle icon click and emit toolbar expanded value
   */
    cfOnToolbarToggle: EventEmitter<any>;
    /**
   * It is <b>cfOnToolbarMaximize</b> output to emit event on maximize/minimize icon click and emit toolbar value of toolbar maximized state
   */
    cfOnToolbarMaximize: EventEmitter<any>;
    /**
     * Function to emit toggle event
   * @param event  it is boolean value of toolbar expanded state
     */
    toolbarToggleEvent(event: any): void;
    /**
       * Function to remove toolbar component
     * @param event  it is click event
       */
    toolbarClose(event: any): void;
    /**
     * Function to collapse/expand toolbar itself
   * @param event  it is click event
     */
    toggle(event: any): void;
    /**
       * Function to stop selectiong content by default double click on toolbar
     * @param event  it is click event
       */
    preventToggle(event: any): void;
    /**
       * Function to minimize/maximize component with toolbar
     * @param event  it is click event
     * @param action  it means minimize or maximize
       */
    toggleMaximize(event: any, action: any): void;
    /**
     * Initialize all data
     */
    ngOnInit(): void;
}
