import { EventEmitter } from '../../stencil-public-runtime';
import { CheckboxChangeEventDetail } from './checkbox-interface';
export declare class PdsCheckbox {
    private inheritedAttributes;
    private internals?;
    private readonly _type;
    el: HTMLPdsCheckboxElement;
    /**
     * It determines whether or not the checkbox is checked.
     */
    checked?: boolean;
    /**
     * A unique identifier used for the underlying component `id` attribute and the label `for` attribute.
     */
    componentId: string;
    /**
     * It determines whether or not the checkbox is disabled.
     */
    disabled: boolean;
    /**
     * Displays message text describing an invalid state.
     */
    errorMessage: string;
    /**
     * String used for helper message below checkbox.
     */
    helperMessage: string;
    /**
     * If `true`, the checkbox will visually appear as indeterminate.
     * Only JavaScript can set the objects `indeterminate` property. See [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes).
     */
    indeterminate: boolean;
    /**
     * It determines whether or not the checkbox is invalid.
     */
    invalid: boolean;
    /**
     * String used for label text next to checkbox.
     */
    label: string;
    /**
   * Visually hides the label text for instances where only the checkbox should be displayed. Label remains accessible to assistive technology such as screen readers.
   */
    hideLabel: boolean;
    /**
     * String used for checkbox `name` attribute.
     */
    name: string;
    /**
     * It determines whether or not the checkbox is required.
     */
    required: boolean;
    /**
     * The value of the checkbox that is submitted with a form.
     */
    value: string;
    /**
     * Event emitted that contains the `value` and `checked`.
     */
    pdsCheckboxChange: EventEmitter<CheckboxChangeEventDetail>;
    pdsCheckboxInput: EventEmitter<CheckboxChangeEventDetail>;
    updateIndeterminate(): void;
    private handleCheckboxChange;
    private handleInput;
    private classNames;
    connectedCallback(): void;
    componentDidLoad(): void;
    checkedChanged(): void;
    private updateFormValue;
    formStateRestoreCallback(state: string | FormData | null): void;
    componentWillLoad(): void;
    render(): any;
}
