/**
 * ------------------------------------------------
 *  # Setup: Props
 * ------------------------------------------------
 */
export type DsgCheckboxSize = "sm" | "md" | "tag-sm" | "tag-md" | "tag-lg";
export type DsgCheckboxType = "checkbox" | "radio";
export type DsgCheckboxModelType = string | number | boolean | string[] | number[] | boolean[] | null;
export type DsgCheckboxValue = string | number | boolean;
export interface DsgCheckboxProps {
    label?: string;
    subText?: string;
    type?: DsgCheckboxType;
    size?: DsgCheckboxSize;
    value?: DsgCheckboxValue;
    indeterminate?: boolean;
    disabled?: boolean;
    noFocus?: boolean;
}
type __VLS_Props = DsgCheckboxProps;
type __VLS_PublicProps = {
    "modelValue"?: DsgCheckboxModelType;
} & __VLS_Props;
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        'dsg-checkbox--label'?(_: {}): any;
        'dsg-checkbox--subtext'?(_: {}): any;
    };
    refs: {
        checkboxWrapper: HTMLLabelElement;
        inputCheckbox: HTMLInputElement;
    };
    rootEl: HTMLDivElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {
    set: (value: boolean) => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    "update:modelValue": (value: DsgCheckboxModelType) => any;
} & {
    "update:model-value": (newValue: DsgCheckboxModelType) => any;
    "before-checked": (oldValue: DsgCheckboxModelType, newValue: DsgCheckboxModelType) => any;
    "after-checked": (newValue: DsgCheckboxModelType) => any;
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
    "onUpdate:modelValue"?: ((value: DsgCheckboxModelType) => any) | undefined;
    "onUpdate:model-value"?: ((newValue: DsgCheckboxModelType) => any) | undefined;
    "onBefore-checked"?: ((oldValue: DsgCheckboxModelType, newValue: DsgCheckboxModelType) => any) | undefined;
    "onAfter-checked"?: ((newValue: DsgCheckboxModelType) => any) | undefined;
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
    checkboxWrapper: HTMLLabelElement;
    inputCheckbox: HTMLInputElement;
}, HTMLDivElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
