import { type FileRef, type ViewerController, type ViewerControllerHandle, type ViewerCoreOptions, type ViewerEvent, type ViewerFitMode, type ViewerFitOptions, type ViewerMountOptions, type ViewerOptions, type ViewerState, type ViewerStateListener, type ViewerUiDensity } from './controller.js'; import type { FileViewerPrintOptions } from '@file-viewer/core'; export declare const FILE_VIEWER_ELEMENT_TAG = "flyfish-file-viewer"; export type FileViewerElementEventName = 'viewer-ready' | 'viewer-event' | 'viewer-state-change' | 'viewer-error'; export interface FileViewerElementReadyDetail { controller: ViewerController; } export interface FileViewerElementStateChangeDetail { state: ViewerState; event?: ViewerEvent; } export interface FileViewerElementErrorDetail { error: unknown; } export interface FileViewerElementSource extends ViewerMountOptions { coreOptions?: ViewerCoreOptions; } declare const ElementBase: typeof HTMLElement; declare const observedAttributes: readonly ["src", "url", "filename", "name", "type", "size", "locale", "theme", "toolbar", "toolbar-position", "watermark", "search", "fit", "density", "style-isolation", "options"]; type ObservedAttributeName = typeof observedAttributes[number]; export declare class FileViewerElement extends ElementBase implements ViewerControllerHandle { static get observedAttributes(): ObservedAttributeName[]; private mountNode; private controller; private pendingUpdate; private mountOptions; private internalCoreOptions; get src(): string | undefined; set src(value: string | undefined); get url(): string | undefined; set url(value: string | undefined); get file(): FileRef | undefined; set file(value: FileRef | undefined); get buffer(): ArrayBuffer | undefined; set buffer(value: ArrayBuffer | undefined); get name(): string | undefined; set name(value: string | undefined); get filename(): string | undefined; set filename(value: string | undefined); get type(): string | undefined; set type(value: string | undefined); get size(): number | undefined; set size(value: number | undefined); get options(): ViewerOptions | undefined; set options(value: ViewerOptions | undefined); get locale(): ViewerOptions['locale'] | undefined; set locale(value: ViewerOptions['locale'] | undefined); get fit(): ViewerOptions['fit'] | undefined; set fit(value: ViewerOptions['fit'] | undefined); get styleIsolation(): ViewerOptions['styleIsolation'] | undefined; set styleIsolation(value: ViewerOptions['styleIsolation'] | undefined); get density(): ViewerUiDensity | undefined; set density(value: ViewerUiDensity | undefined); get source(): FileViewerElementSource; set source(value: FileViewerElementSource | undefined); get coreOptions(): ViewerCoreOptions; set coreOptions(value: ViewerCoreOptions | undefined); connectedCallback(): void; disconnectedCallback(): void; attributeChangedCallback(name: ObservedAttributeName, oldValue: string | null, newValue: string | null): void; load(options: ViewerMountOptions): Promise; update(options?: ViewerMountOptions): Promise; reload(): Promise; destroy(): void; getController(): ViewerController | null; getApi(): ReturnType; downloadOriginalFile(): Promise; printRenderedHtml(options?: FileViewerPrintOptions): Promise; printWithMask(options?: FileViewerPrintOptions): Promise; exportRenderedHtml(): Promise; zoomIn(): ReturnType; zoomOut(): ReturnType; resetZoom(): ReturnType; fitToView(fit?: ViewerFitMode | ViewerFitOptions): ReturnType; getViewState(): ReturnType; applyViewState(state: Parameters[0], options?: Parameters[1]): ReturnType; searchDocument(query: string): ReturnType; clearDocumentSearch(): ReturnType; nextSearchResult(): ReturnType; previousSearchResult(): ReturnType; collectDocumentAnchors(): ReturnType; scrollToAnchor(anchor: Parameters[0]): Promise; scrollToLine(line: number): Promise; getDocumentTextChunks(): ReturnType; getOperationAvailability(): ReturnType; getZoomState(): ReturnType; getSearchState(): ReturnType; getState(): ReturnType; subscribe(listener: ViewerStateListener): () => void; private setMountOptions; private mount; private remount; private remountOrUpdate; private ensureMountNode; private resolveElementRenderRoot; private createEffectiveMountOptions; private createControllerMountOptions; private readAttributeMountOptions; private readAttributeViewerOptions; private scheduleUpdate; private dispatchViewerEvent; private dispatchError; private dispatchTypedEvent; } export declare const defineFileViewerElement: (tagName?: string) => CustomElementConstructor | undefined; export {};