import { Component, TemplateFunction } from "@ribajs/core";
import { ThemeService } from "../../services/theme.js";
import type { Bs5ThemeButtonComponentScope, ThemeChoice, ThemeChangedData, JsxBs5ThemeButtonProps } from "../../types/index.js";
export declare class Bs5ThemeButtonComponent extends Component {
    static tagName: string;
    protected theme: ThemeService;
    static get observedAttributes(): (keyof JsxBs5ThemeButtonProps)[];
    scope: Bs5ThemeButtonComponentScope;
    constructor();
    protected connectedCallback(): void;
    protected addEventListeners(): void;
    protected onChange(data: ThemeChangedData): void;
    protected beforeBind(): Promise<void>;
    initTheme(): void;
    setTheme(theme: ThemeChoice): void;
    selectTheme(): void;
    toggleTheme(): void;
    protected template(): ReturnType<TemplateFunction>;
}
