export interface IThemeSwitchOptions { theme?: "dark" | "light" | "default"; type?: "change" | "click"; } export interface IThemeSwitch { options?: IThemeSwitchOptions; setAppearance(theme: string, isSaveToLocalStorage: boolean, isSetDispatchEvent: boolean): void; destroy(): void; } export interface IBasePlugin { el: E; options?: O; events?: {}; } declare class HSBasePlugin implements IBasePlugin { el: E; options: O; events?: any; constructor(el: E, options: O, events?: any); createCollection(collection: any[] | undefined, element: any): void; fireEvent(evt: string, payload?: any): any; on(evt: string, cb: Function): void; } declare class HSThemeSwitch extends HSBasePlugin implements IThemeSwitch { theme: string; type: "change" | "click"; private onElementChangeListener; private onElementClickListener; private static systemThemeObserver; constructor(el: HTMLElement | HTMLInputElement, options?: IThemeSwitchOptions); private elementChange; private elementClick; private init; private buildSwitchTypeOfChange; private buildSwitchTypeOfClick; private setResetStyles; private addSystemThemeObserver; private removeSystemThemeObserver; private toggleObserveSystemTheme; setAppearance(theme?: string, isSaveToLocalStorage?: boolean, isSetDispatchEvent?: boolean): void; destroy(): void; static getInstance(target: HTMLElement | string, isInstance?: boolean): any; static autoInit(): void; } export { HSThemeSwitch as default, }; export {};