/**
 *
 * carbon-angular v0.0.0 | sidenav-item.component.d.ts
 *
 * Copyright 2014, 2025 IBM
 *
 * 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 { EventEmitter, OnChanges, SimpleChanges } from "@angular/core";
import { DomSanitizer } from "@angular/platform-browser";
import { Router } from "@angular/router";
import * as i0 from "@angular/core";
/**
 * `SideNavItem` can either be a child of `SideNav` or `SideNavMenu`
 */
export declare class SideNavItem implements OnChanges {
    protected domSanitizer: DomSanitizer;
    protected router: Router;
    /**
     * Link for the item. NOTE: *do not* pass unsafe or untrusted values, this has the potential to open you up to XSS attacks
     */
    set href(v: string);
    get href(): string;
    /**
     * Use the routerLink attribute on <a> tag for navigation instead of using event handlers
     */
    useRouter: boolean;
    get sideNav(): boolean;
    get menuItem(): boolean;
    /**
     * Toggles the active (current page) state for the link.
     */
    active: boolean;
    /**
     * Array of commands to send to the router when the link is activated
     * See: https://angular.io/api/router/Router#navigate
     */
    route: any[];
    isSubMenu: boolean;
    /**
     * Router options. Used in conjunction with `route`
     * See: https://angular.io/api/router/Router#navigate
     */
    routeExtras: any;
    /**
     * Title attribute of the anchor element.
     */
    title: string;
    /**
     * Emits the navigation status promise when the link is activated
     */
    navigation: EventEmitter<Promise<boolean>>;
    /**
     * Emits when `active` input is changed. This is mainly used to indicate to any parent menu items that a
     * child sidenav item is active or not active.
     */
    selected: EventEmitter<boolean>;
    role: string;
    protected _href: string;
    constructor(domSanitizer: DomSanitizer, router: Router);
    ngOnChanges(changes: SimpleChanges): void;
    navigate(event: MouseEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SideNavItem, [null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SideNavItem, "cds-sidenav-item, ibm-sidenav-item", never, { "href": "href"; "useRouter": "useRouter"; "active": "active"; "route": "route"; "isSubMenu": "isSubMenu"; "routeExtras": "routeExtras"; "title": "title"; }, { "navigation": "navigation"; "selected": "selected"; }, never, ["svg, [icon]", "*"], false>;
}
