import WUPSwitchControl from "./switch";
declare const tagName = "wup-check";
declare global {
    namespace WUP.Check {
        interface EventMap extends WUP.Switch.EventMap {
        }
        interface ValidityMap extends WUP.Switch.ValidityMap {
        }
        interface Options<T = boolean, VM = ValidityMap> extends WUP.Switch.Options<T, VM> {
        }
        interface JSXProps<C = WUPCheckControl> extends WUP.Switch.JSXProps<C> {
        }
    }
    interface HTMLElementTagNameMap {
        [tagName]: WUPCheckControl;
    }
}
declare module "react" {
    namespace JSX {
        interface IntrinsicElements {
            /** Form-control with checkbox
             *  @see {@link WUPCheckControl} */
            [tagName]: WUP.Base.ReactHTML<WUPCheckControl> & WUP.Check.JSXProps;
        }
    }
}
declare module "preact/jsx-runtime" {
    namespace JSX {
        interface HTMLAttributes<RefType> {
        }
        interface IntrinsicElements {
            /** Form-control with checkbox
             *  @see {@link WUPCheckControl} */
            [tagName]: HTMLAttributes<WUPCheckControl> & WUP.Check.JSXProps;
        }
    }
}
/** Form-control with checkbox
 * @see demo {@link https://yegorich555.github.io/web-ui-pack/control/check}
 * @example
  const el = document.createElement("wup-check");
  el.$options.name = "accepted";
  el.$options.label = "Accept";
  el.$initValue = false;
  const form = document.body.appendChild(document.createElement("wup-form"));
  form.appendChild(el);
  // or HTML
  <wup-form>
    <wup-check w-name="accepted" w-label="Accept" w-initvalue="false"/>
  </wup-form>;
 * @tutorial innerHTML @example
 * <label>
 *    <input type='checkbox'/>
 *    <strong>{$options.label}</strong>
 *    <span icon></span>
 * </label> */
export default class WUPCheckControl<TOptions extends WUP.Check.Options = WUP.Check.Options, EventMap extends WUP.Check.EventMap = WUP.Check.EventMap> extends WUPSwitchControl<TOptions, EventMap> {
    #private;
    static get $styleRoot(): string;
    /** NiceToHave: split to wup-icheck to result with wup-table etc. */
    static get $style(): string;
    static $defaults: WUP.Check.Options;
    protected renderControl(): void;
}
export {};
