import type { RouterDirection } from '../components/router/utils/interface';
import type { AnimationBuilder, Color, CssClassMap } from '../interface';
/**
 * Checks if an element has a parent matching the specified selector.
 * This handles an element in both light DOM and shadow DOM contexts.
 * @param selector The parent selector to check for (e.g., 'ion-datetime'
 * or 'ion-toolbar[color]').
 * @param el The element to check.
 * @returns `true` if the element has a parent matching the specified selector,
 * `false` otherwise.
 */
export declare const hostContext: (selector: string, el: HTMLElement) => boolean;
/**
 * Create the mode and color classes for the component based on the classes passed in
 */
export declare const createColorClasses: (color: Color | undefined | null, cssClassMap: CssClassMap) => CssClassMap;
export declare const getClassList: (classes: string | (string | null | undefined)[] | undefined) => string[];
export declare const getClassMap: (classes: string | string[] | undefined) => CssClassMap;
export declare const openURL: (url: string | undefined | null, ev: Event | undefined | null, direction: RouterDirection, animation?: AnimationBuilder) => Promise<boolean>;
