/*!
 * @license
 * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core';
import { MediaMatcher } from '@angular/cdk/layout';
import { UserPreferencesService } from '../../../common/services/user-preferences.service';
import { SidenavLayoutContentDirective } from '../../directives/sidenav-layout-content.directive';
import { SidenavLayoutHeaderDirective } from '../../directives/sidenav-layout-header.directive';
import { SidenavLayoutNavigationDirective } from '../../directives/sidenav-layout-navigation.directive';
import { Direction } from '@angular/cdk/bidi';
import * as i0 from "@angular/core";
export declare class SidenavLayoutComponent implements OnInit, AfterViewInit, OnDestroy {
    private readonly mediaMatcher;
    private readonly userPreferencesService;
    private readonly changeDetectorRef;
    static STEP_OVER: number;
    /** The direction of the layout. 'ltr' or 'rtl' */
    dir: Direction;
    /** The side that the drawer is attached to. Possible values are 'start' and 'end'. */
    position: 'start' | 'end';
    /** Minimum size of the navigation region. */
    sidenavMin: number;
    /** Maximum size of the navigation region. */
    sidenavMax: number;
    /** Screen size at which display switches from small screen to large screen configuration. */
    stepOver: number;
    /** Toggles showing/hiding the navigation region. */
    hideSidenav: boolean;
    /** Should the navigation region be expanded initially? */
    expandedSidenav: boolean;
    /** Emitted when the menu toggle and the collapsed/expanded state of the sideNav changes. */
    expanded: EventEmitter<boolean>;
    headerDirective: SidenavLayoutHeaderDirective;
    navigationDirective: SidenavLayoutNavigationDirective;
    contentDirective: SidenavLayoutContentDirective;
    private menuOpenStateSubject;
    menuOpenState$: import("rxjs").Observable<boolean>;
    container: any;
    emptyTemplate: any;
    mediaQueryList: MediaQueryList;
    _isMenuMinimized: any;
    templateContext: {
        toggleMenu: () => void;
        isMenuMinimized: () => boolean;
    };
    private readonly destroyRef;
    constructor(mediaMatcher: MediaMatcher, userPreferencesService: UserPreferencesService, changeDetectorRef: ChangeDetectorRef);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    toggleMenu(): void;
    get isMenuMinimized(): boolean;
    set isMenuMinimized(menuState: boolean);
    get isHeaderInside(): boolean;
    get headerTemplate(): TemplateRef<any>;
    get navigationTemplate(): TemplateRef<any>;
    get contentTemplate(): TemplateRef<any>;
    onMediaQueryChange(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SidenavLayoutComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SidenavLayoutComponent, "adf-sidenav-layout", never, { "position": { "alias": "position"; "required": false; }; "sidenavMin": { "alias": "sidenavMin"; "required": false; }; "sidenavMax": { "alias": "sidenavMax"; "required": false; }; "stepOver": { "alias": "stepOver"; "required": false; }; "hideSidenav": { "alias": "hideSidenav"; "required": false; }; "expandedSidenav": { "alias": "expandedSidenav"; "required": false; }; }, { "expanded": "expanded"; }, ["headerDirective", "navigationDirective", "contentDirective"], never, true, never>;
}
