import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; /** * Defines the set of states for a checkbox component. */ export declare enum CheckboxState { Init = 0, Indeterminate = 1, Checked = 2, Unchecked = 3 } /** * Used to emit changes performed on checkbox components. */ export declare class CheckboxChange { source: Checkbox; checked: boolean; } export declare class Checkbox implements ControlValueAccessor, AfterViewInit { protected changeDetectorRef: ChangeDetectorRef; /** * Variable used for creating unique ids for checkbox components. */ static checkboxCount: number; /** * Size of the checkbox. */ size: 'sm' | 'md'; /** * Set to `true` for checkbox to be rendered with nested styles. */ nested: boolean; /** * Set to `true` for checkbox to be rendered without any classes on the host element. */ inline: boolean; /** * Set to `true` for a disabled checkbox. */ disabled: boolean; /** * Set to `true` for a loading checkbox. */ skeleton: boolean; /** * Set to `true` to hide the checkbox labels. */ hideLabel: boolean; /** * Sets the name attribute on the `input` element. */ name: string; /** * The unique id for the checkbox component. */ id: string; /** * Reflects the required attribute of the `input` element. */ required: boolean; /** * Sets the value attribute on the `input` element. */ value: string; /** * Used to set the `aria-label` attribute on the input element. */ ariaLabel: string; /** * Used to set the `aria-labelledby` attribute on the input element. */ ariaLabelledby: string; /** * Reflects whether the checkbox state is indeterminate. */ /** * Set the checkbox's indeterminate state to match the parameter and transition the view to reflect the change. */ indeterminate: boolean; /** * Returns value `true` if state is selected for the checkbox. */ /** * Updating the state of a checkbox to match the state of the parameter passed in. */ checked: boolean; readonly checkboxWrapperClass: boolean; readonly formItemClass: boolean; /** * Emits event notifying other classes when a change in state occurs on a checkbox after a * click. */ change: EventEmitter; /** * Emits event notifying other classes when a change in state occurs specifically * on an indeterminate checkbox. */ indeterminateChange: EventEmitter; /** * Set to `true` if the input checkbox is selected (or checked). */ _checked: boolean; /** * Set to `true` if the input checkbox is in state indeterminate. */ _indeterminate: boolean; currentCheckboxState: CheckboxState; /** * Maintains a reference to the view DOM element of the `Checkbox`. */ inputCheckbox: ElementRef; /** * Creates an instance of `Checkbox`. */ constructor(changeDetectorRef: ChangeDetectorRef); /** * Toggle the selected state of the checkbox. */ toggle(): void; writeValue(value: any): void; /** * Sets a method in order to propagate changes back to the form. */ registerOnChange(fn: any): void; /** * Registers a callback to be triggered when the control has been touched. * @param fn Callback to be triggered when the checkbox is touched. */ registerOnTouched(fn: any): void; /** * Executes on the event of a change within `Checkbox` to block propagation. */ onChange(event: any): void; /** * Handles click events on the `Checkbox` and emits changes to other classes. */ onClick(event: any): void; /** * Called when checkbox is blurred. Needed to properly implement `ControlValueAccessor`. */ onTouched: () => any; /** * Handles changes between checkbox states. */ transitionCheckboxState(newState: CheckboxState): void; /** * Creates instance of `CheckboxChange` used to propagate the change event. */ emitChangeEvent(): void; /** * Updates the checkbox if it is in the indeterminate state. */ ngAfterViewInit(): void; /** * Method set in `registerOnChange` to propagate changes back to the form. */ propagateChange: (_: any) => void; }