///
import type { MeltActionReturn } from '../../internal/types.js';
import type { CheckboxEvents } from './events.js';
import type { CreateCheckboxProps } from './types.js';
export declare function createCheckbox(props?: CreateCheckboxProps): {
elements: {
root: import("../../internal/helpers/index.js").MeltElement<[{
update: (updater: import("svelte/store").Updater, sideEffect?: ((newValue: boolean | "indeterminate") => void) | undefined) => void;
set: (this: void, value: boolean | "indeterminate") => void;
subscribe(this: void, run: import("svelte/store").Subscriber, invalidate?: import("svelte/store").Invalidator | undefined): import("svelte/store").Unsubscriber;
get: () => boolean | "indeterminate";
destroy?: (() => void) | undefined;
}, import("../../internal/helpers/index.js").WithGet>, import("../../internal/helpers/index.js").WithGet>], (node: HTMLElement) => MeltActionReturn, ([$checked, $disabled, $required]: [boolean | "indeterminate", boolean, boolean]) => {
readonly 'data-disabled': true | undefined;
readonly disabled: true | undefined;
readonly 'data-state': "indeterminate" | "checked" | "unchecked";
readonly type: "button";
readonly role: "checkbox";
readonly 'aria-checked': boolean | "mixed";
readonly 'aria-required': boolean;
}, "checkbox">;
input: import("../../internal/helpers/index.js").MeltElement<[import("../../internal/helpers/index.js").WithGet>, import("svelte/motion").Readable, import("../../internal/helpers/index.js").WithGet>, import("../../internal/helpers/index.js").WithGet>, import("../../internal/helpers/index.js").WithGet>, import("../../internal/helpers/index.js").WithGet>], (node: HTMLInputElement) => {
destroy: () => void;
}, ([$value, $name, $disabled, $required, $type, $checked]: [string, string | undefined, boolean, boolean, import("svelte/elements.js").HTMLInputTypeAttribute | null | undefined, boolean | undefined]) => {
readonly name: string | undefined;
readonly value: string;
readonly 'aria-hidden': "true";
readonly hidden: true;
readonly disabled: boolean;
readonly required: boolean;
readonly tabIndex: -1;
readonly type: import("svelte/elements.js").HTMLInputTypeAttribute | null | undefined;
readonly checked: boolean | undefined;
readonly style: string;
}, string>;
};
states: {
checked: {
update: (updater: import("svelte/store").Updater, sideEffect?: ((newValue: boolean | "indeterminate") => void) | undefined) => void;
set: (this: void, value: boolean | "indeterminate") => void;
subscribe(this: void, run: import("svelte/store").Subscriber, invalidate?: import("svelte/store").Invalidator | undefined): import("svelte/store").Unsubscriber;
get: () => boolean | "indeterminate";
destroy?: (() => void) | undefined;
};
};
helpers: {
isIndeterminate: import("svelte/store").Readable;
isChecked: import("svelte/store").Readable;
};
options: import("../../internal/helpers/index.js").ToWritableStores | undefined;
onCheckedChange?: import("../../internal/helpers/index.js").ChangeFn | undefined;
}, "defaultChecked" | "checked">>;
};