import { LitElement } from 'lit'; export declare function elementVisible(element: HTMLElement, fn: () => void): IntersectionObserver; export declare function elementResize(element: HTMLElement, fn: () => void, async?: boolean): ResizeObserver; export type ResponsiveComponent = LitElement & { layout: string; responsive: boolean; layoutStable: boolean; }; export interface LayoutConfig { layouts: string[]; initialLayout: string; } /** * This function loops through a list of layout options and changes the layout * of ResponsiveComponent until the component layout condition is met. */ export declare function calculateOptimalLayout(component: ResponsiveComponent, layoutConfig: LayoutConfig): Promise;