import * as i0 from '@angular/core'; import { Signal, ElementRef, ChangeDetectorRef, AfterContentInit, OnDestroy, WritableSignal, NgZone } from '@angular/core'; import * as i1 from '@angular/cdk/portal'; import { CdkPortal } from '@angular/cdk/portal'; import * as i1$1 from '@sbb-esta/angular/core'; import * as i3 from '@sbb-esta/angular/icon'; import { AnimationEvent, AnimationTriggerMetadata } from '@angular/animations'; import { ControlValueAccessor } from '@angular/forms'; import { _SbbRadioButtonBase, SbbRadioGroup } from '@sbb-esta/angular/radio-button'; import { FocusMonitor } from '@angular/cdk/a11y'; import { UniqueSelectionDispatcher } from '@angular/cdk/collections'; declare class SbbToggleIcon { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class SbbToggleLabel { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class SbbToggleSubtitle { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class SbbToggleDetails { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class SbbToggleOption extends _SbbRadioButtonBase { readonly toggle: SbbToggle; /** Label of a sbb-toggle-option. */ label?: string; /** Additional information for this option. */ subtitle?: string; /** The toggle content projection label. */ _labelNonStatic: SbbToggleLabel; _labelStatic: SbbToggleLabel; get _label(): SbbToggleLabel; /** The toggle content projection label. */ _subtitleNonStatic: SbbToggleSubtitle; _subtitleStatic: SbbToggleSubtitle; get _subtitle(): SbbToggleSubtitle; /** The toggle content projection label. */ _iconNonStatic: SbbToggleIcon; _iconStatic: SbbToggleIcon; get _icon(): SbbToggleIcon; /** * The indicator icon, which will be shown on the left-hand side of the toggle option. * Must be a valid svgIcon input for sbb-icon. * * e.g. svgIcon="plus-small" */ svgIcon: string; /** The toggle content projection label. */ _details: Signal; _content: Signal; constructor(toggle: SbbToggle, elementRef: ElementRef, changeDetector: ChangeDetectorRef, focusMonitor: FocusMonitor, radioDispatcher: UniqueSelectionDispatcher, tabIndex?: string); /** Whether this toggle option has an icon. */ _hasIcon(): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class SbbToggle extends SbbRadioGroup implements ControlValueAccessor, AfterContentInit, OnDestroy { private _zone; /** The element id for the selected option content. */ readonly _contentId: string; private _destroyed; _toggleOptionContentWrapper: ElementRef; _heightAnimationState: 'void' | 'initial' | 'fixed' | 'auto'; _currentOptionContentWrapperHeight: WritableSignal; private _injector; constructor(_zone: NgZone, changeDetectorRef: ChangeDetectorRef); ngAfterContentInit(): void; ngOnDestroy(): void; _onHeightAnimationDone(event: AnimationEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class SbbToggleModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } /** * Animations used by the SBB toggle. * @docs-private */ declare const sbbToggleAnimations: { readonly translateHeight: AnimationTriggerMetadata; }; export { SbbToggle, SbbToggleDetails, SbbToggleIcon, SbbToggleLabel, SbbToggleModule, SbbToggleOption, SbbToggleSubtitle, sbbToggleAnimations };