import { Subscription } from "aurelia-event-aggregator";
import { Task, View } from "aurelia-framework";
import { I18N } from "aurelia-i18n";
export declare namespace UIInternal {
    const EVT_VIEWPORT_WHEEL = "EVT_VIEWPORT_WHEEL";
    const EVT_VIEWPORT_CLICK = "EVT_VIEWPORT_CLICK";
    const EVT_VIEWPORT_RESIZE = "EVT_VIEWPORT_RESIZE";
    const EVT_AUTH_CHANGE = "EVT_AUTH_CHANGE";
    const EVT_APP_READY = "EVT_APP_READY";
    const EVT_PAGINATION_CHANGE = "EVT_PAGINATION_CHANGE";
    const EVT_SCHEDULER_REFRESHED = "EVT_SCHEDULER_REFRESHED";
    const EVT_VIEWPORT_CSS_BREAKPOINT_CHANGE = "EVT_VIEWPORT_CSS_BREAKPOINT_CHANGE";
    const EVT_VIEWPORT_SMALL_DEVICE_ACTIVATED = "SMALL_DEVICE_ACTIVATED";
    const EVT_UI_TABLE_BODY_CELL_CHANGED = "EVT_UI_TABLE_BODY_CELL_CHANGED";
    const EVT_UI_TABLE_REFRESH = "EVT_UI_TABLE_REFRESH";
    const EVT_CHANGE_LANGUAGE = "EVT_CHANGE_LANGUAGE";
    const EVT_ROUTE_CHANGE = "EVT_ROUTE_CHANGE";
    const EVT_GLOBAL_LOADER_SHOW = "EVT_GLOBAL_LOADER_SHOW";
    const EVT_GLOBAL_LOADER_HIDE = "EVT_GLOBAL_LOADER_HIDE";
    const EVT_UI_TABLE_PAGINATION_RELOAD = "EVT_UI_TABLE_PAGINATION_RELOAD";
    function queueTask(task: () => AnyObject | Task): void;
    function queueMicroTask(task: () => AnyObject | Task): void;
    function broadcast(name: string, data?: AnyObject): void;
    function subscribe(name: string, callback: AnyObject): Subscription;
    function subscribeOnce(name: string, callback: AnyObject): Subscription;
    function observe(data: AnyObject, property: string, callback: AnyObject): Subscription;
    function createEvent<T = {}>(name: string, data?: T): CustomEvent;
    function fireCallbackEvent(vm: AnyObject, event: string, data?: AnyObject): Promise<boolean>;
    function invokeLifecycle(instance: any, name: any, model?: any): Promise<AnyObject>;
    function compileTemplate(tpl: string, viewModel?: AnyObject, bindingContext?: {}): View;
    function getValue(item: any, propertyPath: string): any;
    function nextTick(fn: Function): void;
    function debounce<F extends Function>(func: F, wait: number): F;
    function autoDetectAndSetLocale(i18n: I18N): Promise<import("i18next").default.TFunction>;
}
