export type ThemeType = 'light' | 'dark';
export type SizeType = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
export interface ITheme {
    /**
     * Change actual theme
     *
     * @param theme
     */
    (theme: ThemeType): void;
    /**
     * Toggle theme type between `light` & `dark`
     */
    toggle(): void;
    /**
     * Validate if modal is open
     */
    validateModals(): void;
    /**
     * Verify if size types is actual size
     *
     * @param sizes
     * @returns
     */
    is(...sizes: string[]): boolean;
    /**
     * Get actual theme
     *
     * @returns
     */
    getTheme(): ThemeType;
    /**
     * Detect browser|device|user actual theme
     */
    autodetectTheme(): void;
}
export declare class ThemeService {
    private mode;
    /**
     * Window width size
     */
    width: number;
    /**
     * Window height size
     */
    height: number;
    /**
     * Bootstrap breakpoint size
     */
    size: SizeType;
    /**
     * Init service
     *
     * @param mode
     */
    private constructor();
    /**
     * Toggle theme type between `light` & `dark`
     */
    toggle(): void;
    /**
     * Validate if modal is open
     */
    validateModals(): void;
    /**
     * Verify if size types is actual size
     *
     * @param sizes
     * @returns
     */
    is(...sizes: string[]): boolean;
    /**
     * Get actual theme
     *
     * @returns
     */
    getTheme(): ThemeType;
    /**
     * Detect browser|device|user actual theme
     */
    autodetectTheme(): void;
    /**
     * Init and discover breakpoint sizes
     *
     * @param width
     * @param height
     */
    private setupSizes;
    /**
     * Get the bootstrap size key by window size
     *
     * @param width
     * @returns
     */
    private getSizeByWidth;
    /**
     * Change actual theme
     *
     * @param theme
     */
    private switch;
    /**
     * Create service
     *
     * @returns
     */
    static create(): ITheme;
}
export declare const Theme: ITheme;
export declare const Query: (name: string, parent?: Element) => Element;
