import Component from "@glimmer/component";
import { cell } from "ember-resources";
import { Label } from './-private/typed-elements';
import type { TOC } from "@ember/component/template-only";
import type { WithBoundArgs } from "@glint/template";
export interface Signature {
Element: HTMLInputElement;
Args: {
/**
* The initial checked value of the Switch.
* This value is reactive, so if the value that
* `@checked` is set to updates, the state of the Switch will also update.
*/
checked?: boolean;
/**
* Callback when the Switch state is toggled
*/
onChange?: (checked: boolean, event: Event) => void;
};
Blocks: {
default?: [
{
/**
* The current state of the Switch.
*
* ```gjs
* import { Switch } from 'ember-primitives/components/switch';
*
*
*
* {{s.isChecked}}
*
*
* ```
*/
isChecked: boolean;
/**
* The Switch Element.
* It has a pre-wired `id` so that the relevant Label is
* appropriately associated via the `for` property of the Label.
*
* ```gjs
* import { Switch } from 'ember-primitives/components/switch';
*
*
*
*
*
*
* ```
*/
Control: WithBoundArgs;
/**
* The Switch element requires a label, and this label already has
* the association to the Control by setting the `for` attribute to the `id` of the Control
*
* ```gjs
* import { Switch } from 'ember-primitive/components/switchs';
*
*
*
*
*
*
* ```
*/
Label: WithBoundArgs;
}
];
};
}
interface ControlSignature {
Element: HTMLInputElement;
Args: {
id: string;
checked?: ReturnType>;
onChange?: (checked: boolean, event: Event) => void;
};
}
declare class Checkbox extends Component {
handleClick: (event: Event) => void;
}
/**
* @public
*/
export declare const Switch: TOC;
export default Switch;
//# sourceMappingURL=switch.d.ts.map