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;
}