import { ControlValueAccessor, FormGroup } from '@angular/forms'; import * as i0 from "@angular/core"; /** Possible switch style variants */ export type SwitchVariantProps = 'primary' | 'secondary' | 'tertiary' | 'accent' | 'info' | 'success' | 'error' | 'warning' | null | undefined; /** Possible switch size variants */ export type SwitchSizeProps = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | null | undefined; /** Configuration object for switch styling */ export type SwitchProps = { variant?: SwitchVariantProps; size?: SwitchSizeProps; }; /** * A customizable switch/toggle component with form integration * * @remarks * Implements ControlValueAccessor for Angular form compatibility. * Supports various style variants and sizes through Tailwind CSS. * * @example * ```html * * * ``` * * @example * ```html * * * ``` */ export declare class SwitchComponent implements ControlValueAccessor { /** * Switch style variant * @defaultValue 'primary' */ variant: import("@angular/core").InputSignal; /** * Switch size variant * @defaultValue 'md' */ size: import("@angular/core").InputSignal; /** * Label text displayed next to the switch */ label: import("@angular/core").InputSignal; /** * HTML name attribute for the switch */ name: import("@angular/core").InputSignal; /** * Two-way bindable switch state */ value: import("@angular/core").ModelSignal; /** * Parent form group for reactive forms */ parentForm: import("@angular/core").InputSignal | null>; /** * Form control name for reactive forms */ formControlName: import("@angular/core").InputSignal; /** * Event emitted when switch loses focus */ blurred: import("@angular/core").OutputEmitterRef; /** * Stop event propagation for activation events * @defaultValue false */ stopPropagation: import("@angular/core").InputSignal; /** * Event emitted on click */ clicked: import("@angular/core").OutputEmitterRef; /** * Event emitted on Enter keydown */ keyDownEnter: import("@angular/core").OutputEmitterRef; /** * Event emitted on Space keydown */ keyDownSpace: import("@angular/core").OutputEmitterRef; /** * Event emitted on activation (click or keyboard) */ triggered: import("@angular/core").OutputEmitterRef; /** @internal */ private onControlChange; /** @internal */ private onControlTouch; /** * Whether the switch is disabled * @defaultValue false */ disabled: import("@angular/core").ModelSignal; /** * Event emitted when switch state changes */ valueUpdated: import("@angular/core").OutputEmitterRef; /** * @internal * Computed base switch classes */ componentClass: import("@angular/core").Signal; writeValue(obj: any): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; setDisabledState(isDisabled: boolean): void; /** * @internal * Handles state changes */ handleChange(): void; /** * @internal * Handles blur event */ handleBlur(): void; /** * @internal * Handle click activation */ handleClick(event: MouseEvent): void; /** * @internal * Handle Enter key activation */ handleKeyDownEnter(event: Event): void; /** * @internal * Handle Space key activation */ handleKeyDownSpace(event: Event): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }