import { EventEmitter } from '../stencil-public-runtime';
import { BalConfig } from './config';
export declare const rIC: (callback: () => void, timeout?: number) => void;
export declare const wait: (ms?: number) => Promise<void>;
export declare const debounceEvent: (ev: EventEmitter, wait: number) => EventEmitter;
export declare const debounce: (func: (...args: any[]) => void, wait?: number) => (...args: any[]) => any;
export declare const hasTagName: (element: any, tag: string) => any;
export declare const isDescendant: (parent: HTMLElement, child: HTMLElement | EventTarget) => boolean;
export declare const hasParent: (parentTag: string, child: HTMLElement | EventTarget) => boolean;
export declare const getSibling: (parentTag: HTMLElement | EventTarget, child: string) => HTMLElement | null;
export declare const getAppRoot: (doc: Document) => HTMLElement;
export declare const componentOnReady: (el: any, callback: any) => void;
export declare const raf: (h: any) => any;
export declare const transitionEndAsync: (el: HTMLElement | null, expectedDuration?: number) => Promise<unknown>;
export declare const addEventListener: (el: any, eventName: string, callback: any, opts?: any) => any;
export declare const removeEventListener: (el: any, eventName: string, callback: any, opts?: any) => any;
export declare const shallowReady: (el: any | undefined) => Promise<any>;
export declare const deepReady: (el: any | undefined, full?: boolean) => Promise<void>;
export declare const waitForComponent: (el: HTMLElement | null) => Promise<void>;
export declare const isChildOfEventTarget: (ev: any, el: HTMLElement, callback: () => void) => Promise<void>;
export declare const waitForDesignSystem: (el: any | null, _config?: BalConfig) => Promise<void>;
export declare const waitAfterFramePaint: () => Promise<unknown>;
export declare const waitAfterIdleCallback: () => Promise<unknown>;
export declare const runHighPrioritizedTask: (callback: (value: unknown) => void) => void;
export declare const waitForRequestIdleCallback: () => () => Promise<unknown>;
