import * as _angular_core from '@angular/core';
import { TemplateRef } from '@angular/core';
import { ClientPageMenuItem } from '@masterteam/components/client-page-menu';

declare class ClientPage {
    /** Icon for the left sidebar header */
    readonly menuIcon: _angular_core.InputSignal<string | undefined>;
    /** Title for the left sidebar header */
    readonly menuTitle: _angular_core.InputSignal<string | undefined>;
    /** List of menu items for the left sidebar */
    readonly menuItems: _angular_core.InputSignal<ClientPageMenuItem[]>;
    /** Whether menu items are loading */
    readonly menuItemsLoading: _angular_core.InputSignal<boolean>;
    /** Key of the active menu item (defaults to first item) */
    readonly activeItem: _angular_core.InputSignal<string | undefined>;
    /** Whether the sidebar menu is collapsed (two-way bindable) */
    readonly collapsed: _angular_core.ModelSignal<boolean>;
    /** Template projected into the left sidebar header end */
    readonly headerEnd: _angular_core.Signal<TemplateRef<any> | undefined>;
    /** Emitted when a menu item is clicked */
    readonly menuItemClick: _angular_core.OutputEmitterRef<ClientPageMenuItem>;
    /** Tracks activeItem input, overridable by user clicks */
    private readonly selectedKey;
    /** Currently selected menu item */
    readonly selectedItem: _angular_core.Signal<ClientPageMenuItem>;
    /** Whether the initial default selection has been emitted */
    private initialEmitted;
    constructor();
    /** Whether the divider/toggle area is being hovered */
    readonly dividerHovered: _angular_core.WritableSignal<boolean>;
    /** Sidebar width reacts to collapsed + hover */
    readonly sidebarWidth: _angular_core.Signal<"12px" | "9px" | "15.8%" | "16%">;
    /** Icon for the collapse toggle button */
    readonly toggleIcon: _angular_core.Signal<"arrow.chevron-right" | "arrow.chevron-left">;
    toggleCollapsed(): void;
    selectItem(item: ClientPageMenuItem): void;
    getAvatarStyle(color: string): Record<string, string>;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClientPage, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<ClientPage, "mt-client-page", never, { "menuIcon": { "alias": "menuIcon"; "required": false; "isSignal": true; }; "menuTitle": { "alias": "menuTitle"; "required": false; "isSignal": true; }; "menuItems": { "alias": "menuItems"; "required": false; "isSignal": true; }; "menuItemsLoading": { "alias": "menuItemsLoading"; "required": false; "isSignal": true; }; "activeItem": { "alias": "activeItem"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; }, { "collapsed": "collapsedChange"; "menuItemClick": "menuItemClick"; }, ["headerEnd"], ["*"], true, never>;
}

export { ClientPage };
