import { FocusMonitor } from '@angular/cdk/a11y'; import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { KbqCheckedState, KbqColorDirective } from '@koobiq/components/core'; import { KbqCheckboxClickAction } from './checkbox-config'; import * as i0 from "@angular/core"; /** * Provider Expression that allows kbq-checkbox to register as a ControlValueAccessor. * This allows it to support [(ngModel)]. * @docs-private */ export declare const KBQ_CHECKBOX_CONTROL_VALUE_ACCESSOR: any; /** * Represents the different states that require custom transitions between them. * @docs-private */ export declare enum TransitionCheckState { /** The initial state of the component before any user interaction. */ Init = "init", /** The state representing the component when it's becoming checked. */ Checked = "checked", /** The state representing the component when it's becoming unchecked. */ Unchecked = "unchecked", /** The state representing the component when it's becoming indeterminate. */ Indeterminate = "indeterminate" } /** Change event object emitted by KbqCheckbox. */ export declare class KbqCheckboxChange { /** The source KbqCheckbox of the event. */ source: KbqCheckbox; /** The new `checked` value of the checkbox. */ checked: boolean; } /** * A Koobiq checkbox component. Supports all of the functionality of an HTML5 checkbox, * and exposes a similar API. A KbqCheckbox can be either checked, unchecked, indeterminate, or * disabled. Note that all additional accessibility attributes are taken care of by the component, * so there is no need to provide them yourself. However, if you want to omit a label and still * have the checkbox be accessible, you may supply an [aria-label] input. */ export declare class KbqCheckbox extends KbqColorDirective implements ControlValueAccessor, AfterViewInit, OnDestroy { private changeDetectorRef; private focusMonitor; big: boolean; /** A unique id for the checkbox input. If none is supplied, it will be auto-generated. */ id: string; /** Whether the label should appear after or before the checkbox. Defaults to 'after' */ labelPosition: 'before' | 'after'; /** Name value will be applied to the input element if present */ name: string | null; /** Event emitted when the checkbox's `checked` value changes. */ readonly change: EventEmitter; /** Event emitted when the checkbox's `indeterminate` value changes. */ readonly indeterminateChange: EventEmitter; /** The value attribute of the native input element */ value: string; /** Defines the behavior when a user clicks on the checkbox. */ clickAction: KbqCheckboxClickAction; /** The native `` element */ inputElement: ElementRef; /** Returns the unique id for the visual hidden input. */ get inputId(): string; /** Whether the checkbox is required. */ required: boolean | undefined; /** * Whether the checkbox is checked. */ get checked(): boolean; set checked(value: boolean); private _checked; /** Whether the checkbox is disabled. */ get disabled(): boolean; set disabled(value: boolean); private _disabled; get tabIndex(): number; set tabIndex(value: number); private _tabIndex; /** * Whether the checkbox is indeterminate. This is also known as "mixed" mode and can be used to * represent a checkbox with three states, e.g. a checkbox that represents a nested list of * checkable items. Note that whenever checkbox is manually clicked, indeterminate is immediately * set to false. */ get indeterminate(): boolean; set indeterminate(value: boolean); private _indeterminate; private uniqueId; private currentAnimationClass; private currentCheckState; constructor(changeDetectorRef: ChangeDetectorRef, focusMonitor: FocusMonitor); /** * Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor. * @docs-private */ onTouched: () => any; ngAfterViewInit(): void; ngOnDestroy(): void; /** Method being called whenever the label text changes. */ onLabelTextChange(): void; writeValue(value: any): void; registerOnChange(fn: (value: any) => void): void; registerOnTouched(fn: any): void; setDisabledState(isDisabled: boolean): void; getAriaChecked(): KbqCheckedState; /** Toggles the `checked` state of the checkbox. */ toggle(): void; /** * Event handler for checkbox input element. * Toggles checked state if element is not disabled. * Do not toggle on (change) event since IE doesn't fire change event when * indeterminate checkbox is clicked. * @param event Input click event */ onInputClick(event: Event): void; /** Focuses the checkbox. */ focus(): void; onInteractionEvent(event: Event): void; private controlValueAccessorChangeFn; private transitionCheckState; private emitChangeEvent; /** Function is called whenever the focus changes for the input element. */ private onInputFocusChange; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_required: unknown; static ngAcceptInputType_disabled: unknown; static ngAcceptInputType_tabIndex: unknown; }