import { SidebarMenuComponent } from './sidebar-menu.component';
import { SidebarPageContentComponent } from './sidebar-page-content.component';
import type { SidebarClass, SidebarColors, SidebarDisplayMode } from './sidebar.theme';
import { SidebarThemeService } from './sidebar.theme.service';
import { BaseComponent } from 'flowbite-angular';
import type { OnInit } from '@angular/core';
import { InjectionToken } from '@angular/core';
import * as i0 from "@angular/core";
export declare const FLOWBITE_SIDEBAR_COLOR_DEFAULT_VALUE: InjectionToken<keyof SidebarColors>;
export declare const FLOWBITE_SIDEBAR_DISPLAY_MODE_DEFAULT_VALUE: InjectionToken<keyof SidebarDisplayMode>;
export declare const FLOWBITE_SIDEBAR_IS_OPEN_DEFAULT_VALUE: InjectionToken<boolean>;
export declare const FLOWBITE_SIDEBAR_IS_ROUNDED_DEFAULT_VALUE: InjectionToken<boolean>;
export declare const FLOWBITE_SIDEBAR_CUSTOM_STYLE_DEFAULT_VALUE: InjectionToken<{
    root?: {
        base?: string | undefined;
        isRounded?: {
            enabled?: string | undefined;
            disabled?: string | undefined;
        } | undefined;
    } | undefined;
}>;
export declare const sidebarDefaultValueProvider: import("@angular/core").EnvironmentProviders;
/**
 * @see https://flowbite.com/docs/components/sidebar/
 */
export declare class SidebarComponent extends BaseComponent<SidebarClass> implements OnInit {
    /**
     * Service injected used to generate class
     */
    readonly themeService: SidebarThemeService;
    /**
     * The child `SidebarMenuComponent`
     */
    readonly sidebarMenuChild: import("@angular/core").Signal<SidebarMenuComponent>;
    /**
     * The child `SidebarPageContentComponent`
     */
    readonly sidebarPageContentChild: import("@angular/core").Signal<SidebarPageContentComponent>;
    /**
     * Set the sidebar color
     *
     * @default primary
     */
    color: import("@angular/core").ModelSignal<keyof SidebarColors>;
    /**
     * Set the sidebar display mode
     *
     * @default push
     */
    displayMode: import("@angular/core").ModelSignal<keyof SidebarDisplayMode>;
    /**
     * Set is the sidebar is open
     *
     * @default false
     */
    isOpen: import("@angular/core").ModelSignal<boolean>;
    /**
     * Set is the sidebar is rounded
     *
     * @default false
     */
    isRounded: import("@angular/core").ModelSignal<boolean>;
    /**
     * Set the custom style for this sidebar
     */
    customStyle: import("@angular/core").ModelSignal<{
        root?: {
            base?: string | undefined;
            isRounded?: {
                enabled?: string | undefined;
                disabled?: string | undefined;
            } | undefined;
        } | undefined;
    }>;
    fetchClass(): SidebarClass;
    /**
     * Toggle sidebar visibility
     *
     * @param isOpen If provided force isOpen value
     */
    toggleVisibility(isOpen?: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SidebarComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SidebarComponent, "flowbite-sidebar", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "displayMode": { "alias": "displayMode"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "isRounded": { "alias": "isRounded"; "required": false; "isSignal": true; }; "customStyle": { "alias": "customStyle"; "required": false; "isSignal": true; }; }, { "color": "colorChange"; "displayMode": "displayModeChange"; "isOpen": "isOpenChange"; "isRounded": "isRoundedChange"; "customStyle": "customStyleChange"; }, ["sidebarMenuChild", "sidebarPageContentChild"], ["*"], true, never>;
}
