import { AfterViewInit, Injector } from '@angular/core';
import { MatSidenav } from '@angular/material/sidenav';
import { ILayoutManagerComponent } from '../../../interfaces/layout-manager-component.interface';
import { OFormLayoutManagerMode } from '../../../interfaces/o-form-layout-manager-mode.interface';
import { DialogService } from '../../../services/dialog.service';
import { OFormLayoutManagerContentDirective } from '../directives/o-form-layout-manager-content.directive';
import { OFormLayoutManagerBase } from '../o-form-layout-manager-base.class';
import { FormLayoutCloseDetailOptions, FormLayoutDetailComponentData } from '../../../types';
import * as i0 from "@angular/core";
export declare class OFormLayoutSidenavComponent implements OFormLayoutManagerMode, AfterViewInit {
    protected injector: Injector;
    formLayoutManager: OFormLayoutManagerBase;
    position: 'start' | 'end';
    width: string;
    sidenav: MatSidenav;
    contentDirective: OFormLayoutManagerContentDirective;
    component: any;
    data: any;
    params: object;
    queryParams: any;
    urlSegments: any[];
    label: string;
    protected dialogService: DialogService;
    constructor(injector: Injector, formLayoutManager: OFormLayoutManagerBase);
    ngAfterViewInit(): void;
    openDetail(detail: FormLayoutDetailComponentData): void;
    closeDetail(options?: FormLayoutCloseDetailOptions): void;
    updateNavigation(data: any): void;
    updateActiveData(data: any): void;
    getRouteOfActiveItem(): any[];
    getParams(): any;
    getFormCacheData(): any;
    isMainComponent(comp: ILayoutManagerComponent): boolean;
    getDataToStore(): any;
    setModifiedState(formAttr: string, modified: boolean, confirmExit: boolean): void;
    canAddDetailComponent(): boolean;
    getIdOfActiveItem(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<OFormLayoutSidenavComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<OFormLayoutSidenavComponent, "o-form-layout-sidenav", never, { "position": { "alias": "position"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, {}, never, ["*"], true, never>;
}
