import { LitElement } from 'lit'; import { Icon } from '@nvidia-elements/core/icon'; import { Control } from '@nvidia-elements/core/forms'; import { Divider } from '@nvidia-elements/core/divider'; import { Menu, MenuItem } from '@nvidia-elements/core/menu'; import { Switch } from '@nvidia-elements/core/switch'; export type ColorScheme = 'auto' | 'light' | 'dark' | 'high-contrast'; export type Scale = 'default' | 'compact' | 'relaxed'; export type Variant = 'reduced-motion'; export interface PreferencesInputValue { 'color-scheme'?: ColorScheme | string; scale?: Scale | string; 'reduced-motion'?: boolean; } declare const PreferencesInput_base: import("@nvidia-elements/forms/mixins").FormControlMixinReturn; /** * @element nve-preferences-input * @description A preferences input is a widget for controlling apperance. Stylesheets register to the preferences input by including a css-property, see Standard for an example. * @documentation https://nvidia.github.io/elements/docs/elements/preferences-input/ * @since 1.23.7 * @entrypoint \@nvidia-elements/core/preferences-input * @property {PreferencesInputValue} value - Contains the current color scheme, scale, and reduced motion preferences. Assign an object through JavaScript or provide its JSON serialization in the HTML `value` attribute. * @attribute {string} value - JSON object parsed as `PreferencesInputValue`. * @event input - Dispatched when the value has changed * @event change - Dispatched when the value has changed * @cssprop --color * @cssprop --width * @csspart control - The control wrapper elements that contain the labels and menus * @csspart menu - The menu elements that display color scheme and scale options * @csspart menu-item - The individual menu item elements for each selectable option * @csspart icon - The icon element displayed next to color scheme options * @csspart divider - The divider elements that separate preference sections * @csspart switch - The switch element for the reduced motion toggle * * @aria https://www.w3.org/WAI/ARIA/apg/patterns/listbox/ * */ export declare class PreferencesInput extends PreferencesInput_base { #private; /** * Enables updating internal string values for internationalization. */ i18n: Partial; static styles: import("lit").CSSResult[]; static readonly metadata: { tag: string; version: string; valueSchema: { type: 'object'; properties: { 'color-scheme': { type: 'string'; }; scale: { type: 'string'; }; 'reduced-motion': { type: 'boolean'; }; }; }; }; static elementDefinitions: { [Control.metadata.tag]: typeof Control; [Divider.metadata.tag]: typeof Divider; [Icon.metadata.tag]: typeof Icon; [Menu.metadata.tag]: typeof Menu; [MenuItem.metadata.tag]: typeof MenuItem; [Switch.metadata.tag]: typeof Switch; }; private activePreferences; render(): import("lit").TemplateResult<1>; constructor(); connectedCallback(): void; /** @private */ updateValue(value: PreferencesInputValue): void; } export {};