import * as _angular_core from '@angular/core'; import { InjectionToken, EnvironmentProviders } from '@angular/core'; import { NavigationOrientation, NavigationType, NavigationPosition, NavigationDockbarMode } from '@edsis/navigation/service'; import { LayoutSurface, LayoutWidth, LayoutType } from '@edsis/theme/layout/types'; import { ThemeMode, ThemeSpace, ThemeRadius, ThemeAppearance, ThemeColor, ThemeBrand } from '@edsis/theme/styles'; import { SheetSide } from '@edsis/component/sheet'; interface AppPreferencesDefaults { readonly theme: { readonly mode: ThemeMode; readonly space: ThemeSpace; readonly radius: ThemeRadius; readonly appearance: ThemeAppearance; readonly color: ThemeColor; readonly brand: ThemeBrand; }; readonly layout: { readonly surface: LayoutSurface; readonly width: LayoutWidth; readonly type: LayoutType; }; readonly navigation: { readonly orientation: NavigationOrientation; readonly type: NavigationType; readonly position: NavigationPosition; readonly collapsed: boolean; readonly dockbarMode: NavigationDockbarMode; }; } interface AppPreferencesConfig { readonly defaults?: AppPreferencesDefaults; } declare const APP_PREFERENCES_CONFIG: InjectionToken; declare function provideAppPreferences(config?: AppPreferencesConfig): _angular_core.EnvironmentProviders; declare class AppPreferencesPanelService { private readonly document; private readonly injector; private readonly layout; private readonly openedState; private origin; private previouslyOpened; private finalizationPending; readonly supported: _angular_core.Signal; readonly opened: _angular_core.Signal; constructor(); open(trigger?: HTMLElement): boolean; close(): void; toggle(trigger?: HTMLElement): boolean; private finalizeClose; private restoreFocus; private activeElement; private canFocus; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class AppPreferencesComponent { private readonly document; private readonly destroyRef; private readonly layout; private readonly navigation; protected readonly preferences: AppPreferencesPanelService; private readonly narrowState; private readonly navigationState; protected readonly inline: _angular_core.Signal; protected readonly sheetSide: _angular_core.Signal; protected readonly hostClass: _angular_core.Signal<"block h-full w-76 border-r border-border" | "relative block h-full w-16">; protected readonly sheetClass: _angular_core.Signal; constructor(); protected onSheetOpenChange(open: boolean): void; private mediaQuery; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class AppPreferencesTriggerDirective { private readonly elementRef; protected readonly preferences: AppPreferencesPanelService; protected readonly isButton: _angular_core.Signal; protected onClick(event: MouseEvent): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵdir: _angular_core.ɵɵDirectiveDeclaration; } interface RuntimeThemeDeviceOptions { /** Default true. Disable when a named application profile owns appearance. */ readonly appearanceFallback?: boolean; } /** Registers immutable runtime fallbacks without replacing stored theme preferences. */ declare function provideRuntimeThemeDevice(options?: RuntimeThemeDeviceOptions): EnvironmentProviders; export { APP_PREFERENCES_CONFIG, AppPreferencesComponent, AppPreferencesPanelService, AppPreferencesTriggerDirective, provideAppPreferences, provideRuntimeThemeDevice }; export type { AppPreferencesConfig, AppPreferencesDefaults, RuntimeThemeDeviceOptions };