import { type ButtonHTMLAttributes } from "vue";
import { type DarkModeOptions } from "../../composables/useDarkMode.js";
import type { TailwindClassProp } from "../shared/props.js";
/**
* Uses the `useDarkMode` composable internally to toggle the dark mode.
*
* The props are just the options for the composable (note they are not reactive).
*
* The component will emit the `update:darkMode` and `update:darkModeState` events to get the boolean and string states respectively (see the return type of {@link useDarkMode}).
*
* You can also get the return type of the composable from the exposed `getUseDarkMode` function.
*/
declare const _default: import("vue").DefineComponent {
darkMode: import("vue").Ref;
darkModeState: import("vue").Ref<"system" | "dark" | "light", "system" | "dark" | "light">;
manualDarkMode: import("vue").Ref;
systemDarkMode: import("vue").Ref;
setDarkMode: (value: "dark" | "light" | "system") => void;
cycleDarkMode: () => void;
};
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
"update:darkMode": (value: boolean) => any;
"update:darkModeState": (value: "system" | "dark" | "light") => any;
}, string, import("vue").PublicProps, Readonly & Readonly<{
"onUpdate:darkMode"?: ((value: boolean) => any) | undefined;
"onUpdate:darkModeState"?: ((value: "system" | "dark" | "light") => any) | undefined;
}>, {
darkModeOrder: readonly ("system" | "dark" | "light")[];
autoLabel: false | Record<"system" | "dark" | "light", string>;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
export default _default;
type RealProps = DarkModeOptions & {
/** The auto labels are shown by default. You can disable them by passing false or pass an object with your own labels. */
autoLabel?: false | Record<"system" | "dark" | "light", string>;
};
interface Props extends
/** @vue-ignore */
Partial & TailwindClassProp & {
disabled?: boolean;
}>, RealProps {
}
//# sourceMappingURL=LibDarkModeSwitcher.vue.d.ts.map