import{type TemplateResult}from'lit';import{LyraElement}from'../../../internal/lyra-element.js';import{type LyraImageFit}from'../../../internal/image-fit.js';export interface LyraPanZoomEventMap{'lr-zoom-change':CustomEvent<{zoom:number;}>;blur:FocusEvent;focus:FocusEvent;} /** * `` — a scrollable frame for inspecting slotted or image content at a bounded zoom * level. This is the intentionally renamed home of the original Lyra `lr-zoomable-frame` * pan-and-zoom API; `lr-zoomable-frame` now mirrors the iframe-based Web Awesome component. * * `resetZoom()` returns zoom to 1 while preserving the native scroll offset. `resetView()` also * returns the viewport to its origin for consumers that replace the inspected content. * `fit` controls the base layout of an image supplied through `src`: `actual` preserves the * existing natural-size behavior, while `contain` and `width` size it against the viewport. * The three controls are independently tabbable native buttons in a labelled `group`; they do not * claim the arrow-key navigation contract of an ARIA toolbar. * * @customElement lr-pan-zoom * @slot - Content to inspect; when `src` is set, an image is rendered instead. * @event lr-zoom-change - Zoom changed. `detail: { zoom }`. * @event {FocusEvent} focus - Relayed once from the scrollable viewport as a bubbling, composed * native event. * @event {FocusEvent} blur - Relayed once from the scrollable viewport as a bubbling, composed * native event. * @csspart base - The frame wrapper. * @csspart viewport - The scrollable viewport. * @csspart content - The transformed content wrapper. * @csspart controls - Labelled group of independently tabbable zoom controls. * @csspart zoom-out - Zoom-out button. * @csspart zoom-in - Zoom-in button. * @csspart reset - Reset-to-100-percent button. * @cssprop [--lr-pan-zoom-min-block-size=var(--lr-size-10rem)] - Minimum viewport block size. * @cssprop [--lr-pan-zoom-zoom=1] - Read-only scale written from `zoom`; set the property instead. * @status stable * @since 8.0.0 */ export declare class LyraPanZoom extends LyraElement{static styles:import("lit").CSSResultGroup[];zoom:number;minZoom:number;maxZoom:number;zoomStep:number;private _fit; /** Base image sizing policy. The default preserves the natural-size behavior of this frame. */ get fit():LyraImageFit;set fit(value:LyraImageFit);src:string;alt:string; /** Overall host name when supplied as `aria-label`. A property-only value names the focusable * viewport; when the host already owns a name, the viewport keeps its localized purpose name. */ accessibleLabel:string|null;private get safeMinZoom();private get safeMaxZoom();private get safeZoomStep();private get safeZoom();private setZoom;zoomIn():void;zoomOut():void;resetZoom():void;resetView():void;private get viewportEl(); /** Focus the scrollable viewport — the element that owns this component's keyboard zoom. */ focus(options?:FocusOptions):void; /** Blur the scrollable viewport. */ blur():void; /** Activate the scrollable viewport, so a host-level `.click()` is not a silent no-op. */ click():void;private onViewportFocus;private onViewportBlur;private onViewportKeyDown;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-pan-zoom':LyraPanZoom;}}