import { Alignment } from '../types';
import { CheckableFormCompoment, IndeterminateFormCompoment } from '../../utils';
/** @slot - A slot for adding text and a component that can be labeled. */
export declare class Checkbox implements CheckableFormCompoment, IndeterminateFormCompoment {
  /** initial render status */
  private isInitialRender;
  /** instance validation */
  private validator;
  /** toggle element */
  private toggleEl;
  /** hidden input element */
  hiddenInput: HTMLInputElement | null;
  /** icon to be used by abds-icon */
  private icon;
  private toggle;
  private onKeyDown;
  host: HTMLAbdsCheckboxElement;
  /**  aligns input and label */
  alignment: Alignment;
  /** hosts' checked state */
  checked: boolean;
  /** disables checkbox from interaction  */
  disabled: boolean;
  /** allows setting error state */
  error: boolean;
  /** hosts' indeterminate state */
  indeterminate: boolean;
  /** host's name */
  name: string;
  /** specifies required state for form submission */
  required: boolean;
  /** the tooltip text to be passed to label */
  tooltip: string;
  /**
   * The default value for a ticked checkbox is 'on':
   * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-value
   */
  value: string;
  /**
   * Sets focus on native `input` in `abds-checkbox`.
   * @internal
   */
  setFocus(): Promise<void>;
  componentWillLoad(): void;
  componentWillRender(): void;
  componentDidRender(): void;
  connectedCallback(): void;
  disconnectedCallback(): void;
  render(): any;
}
