import { ElementRef, QueryList } from '@angular/core';
import { MatSidenav } from '@angular/material/sidenav';
import { IInputVal, ZuiTemplateLayoutMenu, ZuiTemplateLayoutOption } from '../../constants';
import { ZuiTemplateLayoutIconsComponent } from '../components';
import { ZuiPanelDirective } from '../directive';
import { IMenu } from './type';
/**
 * Layout template selector:
 * ```html
 * <div footer-menu></div>
 * <div header-left></div>
 * <div header-right></div>
 * <div content></div>
 * <div right-side></div>
 * ```
 * Methods:
 * ```ts
 * get opened(): boolean
 * toggle = (): void
 * ```
 */
export declare class ZuiTemplateLayoutComponent {
    #private;
    inputOption: ZuiTemplateLayoutOption;
    disabledToggleVal: boolean;
    set disabledToggle(val: IInputVal);
    sidenav: MatSidenav;
    sidenavDetail: MatSidenav;
    layoutIcon: ZuiTemplateLayoutIconsComponent;
    panels: QueryList<ElementRef>;
    zuiPanelDefs: QueryList<ZuiPanelDirective>;
    panelDefs: ZuiPanelDirective[];
    option: ZuiTemplateLayoutOption;
    menus: IMenu[];
    detailMenus: ZuiTemplateLayoutMenu[];
    isModeMenu: boolean;
    ngOnChanges(): void;
    get menu(): ZuiTemplateLayoutOption['menu'];
    get content(): ZuiTemplateLayoutOption['content'];
    get header(): ZuiTemplateLayoutOption['content']['header'];
    get topHeader(): ZuiTemplateLayoutOption['menu']['topHeader'];
    get width(): string;
    resetSelected: () => void;
    toggleMenu: (menu: IMenu) => void;
    switchMenu: () => void;
    openDetail: (menus: ZuiTemplateLayoutMenu[]) => void;
    get opened(): boolean;
    toggle: () => void;
}
