import { type EditorHost, ShadowlessElement } from '@blockeditor/lit';
import { type Page } from '@blockeditor/store';
import { type PropertyValues } from 'lit';
import type { FrameBlockModel } from '../../../../frame-block/frame-model.js';
import type { SurfaceRefPortal } from '../../../../surface-ref-block/surface-ref-portal.js';
import type { EdgelessPageBlockComponent } from '../../edgeless-page-block.js';
declare const FramePreview_base: typeof ShadowlessElement & import("@blockeditor/global/utils").Constructor<import("@blockeditor/lit").DisposableClass>;
export declare class FramePreview extends FramePreview_base {
    static styles: import("lit").CSSResult;
    edgeless: EdgelessPageBlockComponent | null;
    frame: FrameBlockModel;
    page: Page;
    host: EditorHost;
    surfaceWidth: number;
    surfaceHeight: number;
    fillScreen: boolean;
    private _surfaceModel;
    private _surfaceRefRendererId;
    private _surfaceRefRenderer;
    private _edgelessDisposables;
    private _pageDisposables;
    private _frameDisposables;
    container: HTMLDivElement;
    blocksPortal: SurfaceRefPortal;
    get surfaceRenderer(): import("../../../../surface-block/renderer.js").Renderer;
    private _attachRenderer;
    private get _surfaceRefService();
    private _setupSurfaceRefRenderer;
    private _cleanupSurfaceRefRenderer;
    private _refreshViewport;
    private _tryLoadFillScreen;
    private _getViewportWH;
    private _clearEdgelessDisposables;
    private _clearPageDisposables;
    private _clearFrameDisposables;
    private _setEdgelessDisposables;
    private _setPageDisposables;
    private _setFrameDisposables;
    private _renderSurfaceContent;
    connectedCallback(): void;
    updated(_changedProperties: PropertyValues): void;
    disconnectedCallback(): void;
    render(): import("lit").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'frame-preview': FramePreview;
    }
}
export {};
//# sourceMappingURL=frame-preview.d.ts.map