import * as _angular_core from '@angular/core'; import { FormCheckboxControl } from '@angular/forms/signals'; import { FormUiControlBase } from 'forty-cdk/core'; /** * Headless on/off switch implementing the * [WAI-ARIA Switch pattern](https://www.w3.org/WAI/ARIA/apg/patterns/switch/) * and Angular's `FormCheckboxControl` from `@angular/forms/signals` so it * auto-wires with `[formField]`. * * Works on a native ` * * *
* * * * ``` */ declare class ForSwitch extends FormUiControlBase implements FormCheckboxControl { #private; protected readonly buttonType: _angular_core.Signal; /** Two-way bindable on/off state. Required by `FormCheckboxControl`. */ readonly checked: _angular_core.ModelSignal; protected readonly tabindex: _angular_core.Signal; constructor(); protected onClick(): void; protected onKeydown(event: KeyboardEvent): void; protected onKeyup(event: KeyboardEvent): void; protected onBlur(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵdir: _angular_core.ɵɵDirectiveDeclaration; } /** * Exact public names of every `ForSwitch` input, its models included. Spread it into the * `inputs` array of a `hostDirectives` entry so a wrapper component re-exposes the * primitive's full surface — the Signal Forms members `[formField]` binds among them — * without hand-maintaining the list. Always spread into an inline object literal as shown * below: the literal is what keeps the entry statically analyzable for consumers compiling * against the published package. An anti-drift spec fails when this list no longer matches * the directive's actual API. See `docs/wrapping-form-primitives.md` for both supported * wrapping patterns. * * @example * ```ts * @Component({ * selector: 'button[mySwitch]', * template: '', * hostDirectives: [ * { * directive: ForSwitch, * inputs: [...FOR_SWITCH_HOST_DIRECTIVE_INPUTS], * outputs: [...FOR_SWITCH_HOST_DIRECTIVE_OUTPUTS], * }, * ], * }) * export class MySwitch {} * ``` */ declare const FOR_SWITCH_HOST_DIRECTIVE_INPUTS: readonly ["checked", "dirty", "disabled", "errors", "invalid", "name", "pending", "readonly", "required", "touched"]; /** * Exact public names of every `ForSwitch` output, the Signal Forms `touch` output * included. Spread it into the `outputs` array of the same `hostDirectives` entry as * {@link FOR_SWITCH_HOST_DIRECTIVE_INPUTS}. */ declare const FOR_SWITCH_HOST_DIRECTIVE_OUTPUTS: readonly ["checkedChange", "touchedChange", "touch"]; export { FOR_SWITCH_HOST_DIRECTIVE_INPUTS, FOR_SWITCH_HOST_DIRECTIVE_OUTPUTS, ForSwitch };