import * as _angular_core from '@angular/core'; import { WrIconName } from 'ngwr/icon'; /** * @license * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE */ /** * One entry in a `` track. * * `value` is what the model receives when this segment is picked. * `label` is shown when present; otherwise an icon-only segment renders. */ interface WrSegmentedOption { readonly value: T; readonly label?: string; readonly icon?: WrIconName; readonly disabled?: boolean; } /** * Single-choice picker rendered as a segmented control. Two-way binds * the selected `value`. * * @example * ```html * * ``` * * @see https://ngwr.dev/components/segmented */ type WrSegmentedSize = 'sm' | 'md' | 'lg'; declare class WrSegmented { /** The segments to render. */ readonly options: _angular_core.InputSignal[]>; /** Two-way bindable selected value. */ readonly value: _angular_core.ModelSignal; /** Disable the whole control. @default false */ readonly disabled: _angular_core.InputSignalWithTransform; /** Control size — shares the `--wr-control-*` contract. @default 'md' */ readonly size: _angular_core.InputSignal; /** Index of the selected option, or `-1` when nothing is selected. */ protected readonly selectedIndex: _angular_core.Signal; /** Flips true after the first paint so the thumb only animates user-driven changes, not the initial snap. */ private readonly mounted; constructor(); protected readonly classes: _angular_core.Signal; /** Inline CSS vars driving the sliding thumb position. */ protected readonly thumbStyle: _angular_core.Signal>; protected isSelected(option: WrSegmentedOption): boolean; protected select(option: WrSegmentedOption): void; protected trackByValue(_: number, option: WrSegmentedOption): unknown; static ɵfac: _angular_core.ɵɵFactoryDeclaration, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration, "wr-segmented", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>; } export { WrSegmented }; export type { WrSegmentedOption, WrSegmentedSize };