import { OnDestroy, OnInit } from '@angular/core';
import { TccKeyValuePair } from '../../../odata/models/shared.model';
import { TccTopNavService } from '../../services/tcc-top-nav/tcc-top-nav.service';
import { TccET_IAM } from '../../../odata/models/iam.model';
export interface ITopNavElement {
    caption: string;
    path?: string;
    uniqueidentifier: string;
}
export interface TopNavLeaf extends ITopNavElement {
    _selectOptions?: Array<TopNavSelectOption>;
    _selectedName?: string;
    clickPath?: string;
    hide?: boolean;
    roles?: TccET_IAM.UserRoles[];
}
export interface TopNavSelectOption extends TccKeyValuePair {
    additional?: string;
}
interface ITopNavNode extends ITopNavElement {
    leafs?: Array<TopNavLeaf>;
    clickPath?: string;
    clickPathToSelf?: boolean;
    isContextNode?: boolean;
    startLeaf?: string;
    _contextText?: string;
    _contextData?: any;
}
export interface TopNavNode extends ITopNavNode {
    children?: Array<TopNavNode>;
}
export interface ITopNavCrumbNode extends ITopNavNode {
    isContextNode: false;
}
export interface TopNavContextCrumbNode extends ITopNavNode {
    isContextNode: true;
    _contextText: string;
    _contextData: any;
}
export type TopNavCrumbNode = ITopNavCrumbNode | TopNavContextCrumbNode;
export declare class TccTopNavbarComponent implements OnInit, OnDestroy {
    private topnavService;
    _activeTopNavNode: TopNavCrumbNode;
    private subscription;
    _activeleaf: string;
    topnavstyle: any;
    set width(width: number);
    fullScreen: boolean;
    breadcrumbs: Array<TopNavCrumbNode>;
    constructor(topnavService: TccTopNavService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    OnLeafSelectClick(leaf: TopNavLeaf, selectedoption: TccKeyValuePair): void;
    OnLeafClick(leaf: TopNavLeaf): void;
    breadcrumbClick(crumb: TopNavCrumbNode): void;
    contextCrumbClick(crumb: TopNavCrumbNode): void;
}
export {};
