import { HTMLStencilElement } from '../stencil-public-runtime';
import { Nullable } from '../types/general';
/**
 * Sanitize the vega component rendered output hostElement with the following procedures:
 * 1. Catch any external passed-in classes e.g. <vega-flex class="<culprit_class>"></vega-flex>
 *    and log error message
 * 2. Persist the verified classes into DOM element dataset['verifiedClasses'] for the next time verification
 * 3. Catch any data-shrink='0' attribute e.g. <vega-flex><div data-shrink='0'></div></vega-flex> and log error message
 *
 * @typedef T type of vega component
 * @param {T} renderedOutput renderedOutput generated internally by vega-component runtime
 * @param {HTMLStencilElement} hostElement the external-facing element reference for hosting the vega component renderedOutput
 * @returns {T} processed vega component
 */
export declare function sanitizeVegaComponent<T>(renderedOutput: T, hostElement: HTMLStencilElement): T;
/**
 * The function checks if a given method name is a component lifecycle method.
 *
 * @param {string} methodName - A string representing the name of a method.
 * @returns {boolean} Whether is component lifecycle method or not.
 */
export declare const isComponentLifecycleMethod: (methodName: string) => boolean;
/**
 * The function `getActiveElement` returns the active element within a shadow root or the
 * document.
 *
 * @param {Document | ShadowRoot} root - The `root` parameter is the root element from which to start
 * searching for the active element. It can be either a `Document` or a `ShadowRoot`. If no `root` is
 * provided, it defaults to the `document` object.
 * @returns {Nullable<Element>} The function `getActiveElementInShadow` returns an `Element` if there is an active element
 * in the given `root` (either a `Document` or a `ShadowRoot`). If there is no active element, it
 * returns `null`.
 */
export declare const getActiveElement: (root?: Document | ShadowRoot) => Nullable<Element>;
