import { EventEmitter } from '../../stencil.core';
import { CheckedInputChangeEvent } from '../../types/types';
import { NativeValidationStrategy } from '../../utils/native-validation-strategy';
export declare class Checkbox {
    private readonly inputId;
    private nativeCheck;
    element: HTMLAnjCheckboxElement;
    focused: boolean;
    /**
     * Label to display for "solo" use
     */
    ariaLabel: string;
    /**
     * Is it checked
     */
    checked: boolean;
    handleChange(checked: boolean): void;
    /**
     * Make the control read only
     */
    disabled: boolean;
    /**
     * Whether the control is valid
     */
    invalid: boolean;
    /**
     * Whether the control is valid
     */
    indeterminate: boolean;
    onIndeterminate(): void;
    /**
     * The input name name
     */
    name: string;
    /**
     * Is it required
     */
    required: boolean;
    /**
     * Whether inline (default) or stacked)
     */
    stacked: boolean;
    /**
     * Set as true if the checkbox will not have a label or padding to accommodate text
     */
    solo: boolean;
    /**
     * @internal
     * The validation strategy to use
     */
    validationStrategy: NativeValidationStrategy;
    /**
     * The value of the control.
     */
    value: string;
    /**
     * Fires when the control is blurred
     */
    anjBlur: EventEmitter<void>;
    /**
     * Fires when the checked state is changed
     */
    anjChange: EventEmitter<CheckedInputChangeEvent>;
    /**
     * Checks the native element validity use native validators
     */
    checkValidity(): Promise<boolean>;
    private onChange;
    private onFocus;
    private onBlur;
    render(): any;
}
