import { FunctionalComponent } from '../../stencil-public-runtime'; /** Which side of the active tab an inactive one rests on, in physical terms — the stylesheet needs no RTL rule. */ export type TabPark = 'left' | 'right'; /** * Where an inactive tab parks: the side its content will leave to and return from. A tab later in * the strip rests past the trailing edge, an earlier one past the leading edge; under RTL the strip * runs the other way, so the sides swap. A tab not in the order at all parks past the leading edge. */ export declare const tabPark: (tag: string, active: string, order: readonly string[], direction: string) => TabPark; type LookupTabsProps = { /** The tag of the tab showing. Anything else is inactive. */ active: string; /** The tabs, in render order; each value is the panel element. */ panels: [string, unknown][]; regionRef: (el: HTMLDivElement | undefined) => void; }; /** * The tab region of a composite: every panel is mounted always, one of them active and in flow, * the rest absolutely positioned under it, hidden and inert. A switch changes the attributes and * nothing else — the transitions run from the live on-screen values, so a click mid-transition * reverses from wherever the content is. The card around the * region and the head band inside each panel never move: only each panel's `.lookup-slide` region * changes — the outgoing leaves, then the incoming arrives (a rule in vehicle-info-layout.css, * driven by `data-tab-park` / `data-tab-leaving` on the panel's host) — and the region's height * follows the incoming panel (`createTabRegion`). */ export declare const LookupTabs: FunctionalComponent; export declare const createTabRegion: (region: () => HTMLElement | undefined) => { beforeSwitch(incoming: Element | undefined, hosts?: { incoming?: HTMLElement; outgoing?: HTMLElement; }): void; afterSwitch(incomingHost?: HTMLElement): void; observe(host: Element | undefined): void; dispose(): void; }; export {};