import * as _angular_core from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
/**
* Boolean toggle with an iOS-style slider. Implements `ControlValueAccessor`.
*
* @example
* ```html
* Notifications
* ```
*
* @see https://ngwr.dev/components/switch
*/
type WrSwitchSize = 'sm' | 'md' | 'lg';
declare class WrSwitch implements ControlValueAccessor {
/** Stable id used to associate the native input with its label. */
readonly id: _angular_core.InputSignal;
/**
* Disable the switch. Also set by Angular forms via `setDisabledState`.
*
* @default false
*/
readonly disabled: _angular_core.InputSignalWithTransform;
/** Control size — shares the `--wr-control-*` contract. @default 'md' */
readonly size: _angular_core.InputSignal;
protected readonly checked: _angular_core.WritableSignal;
private readonly disabledFromCva;
protected readonly effectiveDisabled: _angular_core.Signal;
protected readonly classes: _angular_core.Signal;
private onChange;
private onTouched;
writeValue(value: boolean | null): void;
registerOnChange(fn: (value: boolean) => void): void;
registerOnTouched(fn: () => void): void;
setDisabledState(isDisabled: boolean): void;
protected onInputChange(event: Event): void;
protected onInputBlur(): void;
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵcmp: _angular_core.ɵɵComponentDeclaration;
}
export { WrSwitch };
export type { WrSwitchSize };