export declare const html: (strings: TemplateStringsArray, ...values: unknown[]) => string;
export declare const css: (strings: TemplateStringsArray, ...values: unknown[]) => string;
export declare const closestByEvent: (e: Event, selector: string, root?: HTMLElement | ShadowRoot) => HTMLElement | null;
/**
 * Returns a debounced version of the provided function, ensuring that the
 * function is only invoked after a specified delay in milliseconds has elapsed
 * since the last time the debounced function was invoked.
 *
 * @param fn - The function to debounce.
 * @returns A debounced version of the provided function.
 */
export declare function debounce<F extends (...args: any) => void>(fn: F, delay?: number): <U>(this: U, ...args: Parameters<F>) => void;
export declare const getCurrentTzOffset: () => number;
export declare const getCurrentTzOffsetMs: () => number;
export declare const cssDirLtrSelector1 = ":-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))";
export declare const cssDirLtrSelector2 = ":-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))";
export declare const cssDirLtrSelector3 = ":is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))";
/**
 * 将规则中 :dir(ltr) 转换为可以向下兼容的写法。
 * 注意该方法不会解析 css 字符串，只是简单的字符串替换。
 * 同时会将规则重复三次（体积会增大三倍），分别使用三种不同的选择器以兼容不同浏览器。
 */
export declare const dirLtr: (rule: string) => any;
declare class SmallScreenObserver {
    private _mql?;
    get isSmall(): boolean;
    constructor(thresholds?: number);
    private _map;
    private _onMqlChange;
    observe(el: HTMLElement, cb: (isSmall: boolean) => void): void;
    unobserve(el: HTMLElement): void;
}
export declare const smallScreenObserver: SmallScreenObserver;
export type { DateGranularity, TimeGranularity, DateTimeGranularity } from './granularity';
export { granHelper } from './granularity';
