import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter } from '@angular/core'; import { FocusableOption } from '@angular/cdk/a11y'; import { BooleanInput } from '@angular/cdk/coercion'; import { ControlValueAccessor } from '@angular/forms'; import { HasTabIndex } from '../../common/tabindex'; import { CanDisable } from '../../common/disabled'; import { CheckboxGroupComponent } from './checkbox-group.component'; import * as i0 from "@angular/core"; import * as i1 from "../../theme/src/theme-check.directive"; import * as i2 from "../../common/sapphire-view-encapsulation"; /** Change event object emitted by checkbox. */ export declare class CheckboxChange { /** The new `selected` value of the checkbox. */ readonly selected: boolean; /** The source checkbox of the event. */ readonly source: CheckboxComponent; constructor( /** The new `selected` value of the checkbox. */ selected: boolean, /** The source checkbox of the event. */ source: CheckboxComponent); } declare const _CheckboxMixinBase: import("../../common/constructor").Constructor & import("../../common/constructor").AbstractConstructor & import("../../common/constructor").Constructor & import("../../common/constructor").AbstractConstructor & { new (_elementRef: ElementRef): { _elementRef: ElementRef; }; }; export declare class CheckboxComponent extends _CheckboxMixinBase implements AfterViewInit, ControlValueAccessor, CanDisable, HasTabIndex, FocusableOption { readonly checkboxGroup: CheckboxGroupComponent; private changeDetectorRef; /** * Attached to the aria-label attribute of the host element. In most cases, * aria-labelledby will take precedence so this may be omitted. */ ariaLabel: string; /** * Users can specify the `aria-labelledby` attribute which will be forwarded * to the input element */ ariaLabelledby: string | null; /** The 'aria-describedby' attribute is read after the element's label and field type. */ ariaDescribedby: string; /** A unique id for the checkbox input. If none is supplied, it will be auto-generated. */ id: string; /** Returns the unique id for the visual hidden input. */ get _inputId(): string; /** Whether the checkbox is required. */ required: BooleanInput; /** * Whether the necessity indicator should be visible. */ necessityIndicator?: BooleanInput; /** * Whether the checkbox is readonly. */ readonly: BooleanInput; /** Name value will be applied to the input element if present */ name: string | null; get size(): 'lg' | 'md' | 'sm'; set size(value: 'lg' | 'md' | 'sm'); private _size?; /** Event emitted when the checkbox's `selected` value changes. */ readonly change: EventEmitter; /** The value attribute of the native input element */ value: string | undefined; /** The native `` element */ _inputElement: ElementRef; /** Optional note text to display below the checkbox label. */ note?: string; /** * Called when the checkbox is blurred. Needed to properly implement * ControlValueAccessor. * @docs-private */ private onTouched; private controlValueAccessorChangeFn; constructor(checkboxGroup: CheckboxGroupComponent, elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, tabIndex: string); ngAfterViewInit(): void; /** Whether the checkbox is selected. */ get selected(): boolean; set selected(value: BooleanInput); private _selected; /** * Whether the checkbox is disabled. This fully overrides the implementation * provided by mixinDisabled, but the mixin is still required because * mixinTabIndex requires it. */ get disabled(): boolean; set disabled(value: BooleanInput); private _disabled; /** * 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. */ get indeterminate(): boolean; set indeterminate(value: BooleanInput); private _indeterminate; get labelNecessityIndicator(): 'optional' | 'required' | undefined; writeValue(value: any): void; registerOnChange(fn: (value: any) => void): void; registerOnTouched(fn: any): void; setDisabledState(disabled: boolean): void; /** Toggles the `selected` state of the checkbox. */ toggle(): void; focus(): void; _getAriaChecked(): 'true' | 'false' | 'mixed'; _onInputClick($event: Event): void; _onInteractionEvent(event: Event): void; _onBlur(): void; private emitChangeEvent; /** * Syncs the indeterminate value with the checkbox DOM node. * * We sync `indeterminate` directly on the DOM node, because in Ivy the check * for whether a property is supported on an element boils down to `if * (propName in element)`. Domino's HTMLInputElement doesn't have an * `indeterminate` property so Ivy will warn during server-side rendering. */ private syncIndeterminate; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export {};