import type { ElementInfo } from '../../types.js'; export interface ElementResolver { resolveElementInfo(el: Element): Promise; } /** Which elements the overlay can pick. */ export type HostTest = (el: Element) => boolean; /** A component the source-meta transform stamped: it has a file to open. */ export declare const hasSourceMeta: HostTest; /** What `hosts: 'lit'` picks: any Lit element, stamped or not. */ export declare const isAnyHost: HostTest; export declare const findSourceHost: (el: Element, isHost?: HostTest) => Element | null; export declare const findEnclosingHost: (el: Element, isHost?: HostTest) => Element | null; export declare const findSourceAtPoint: (x: number, y: number, dialog?: HTMLDialogElement | null, isHost?: HostTest) => Element | null; export declare const defaultResolver: ElementResolver; /** * What the tooltip shows for a host: its tag, and its file and line when the * source-meta transform stamped it. A library element carries no stamp, so it * is named after its class and has no source to open, but it may * still carry the call site of the template that wrote it. */ export declare const hostInfo: (host: Element) => Omit & { source?: ElementInfo['source']; }; //# sourceMappingURL=source-host.d.ts.map