import { AfterViewInit, ViewContainerRef, WritableSignal, OnDestroy, ElementRef } from '@angular/core';
import { ComponentConfig, previewType } from '../../core';
import * as i0 from "@angular/core";
export declare class NgxPuzzlePreviewComponent implements AfterViewInit, OnDestroy {
    canvasContent: ViewContainerRef;
    canvasWrapperRef: ElementRef<HTMLElement>;
    private zoom;
    private ele;
    private injector;
    private registry;
    private sessionService;
    private cdr;
    /**
     * 控制是否启用缩放功能的输入信号
     * true: 启用缩放，内容按比例缩放适应窗口宽度，智能控制纵向滚动
     * false: 禁用缩放，显示原始尺寸，释放横纵滚动条
     */
    enableZoom: import("@angular/core").ModelSignal<boolean>;
    /**
     * 用于确定缩放按钮功能是否启用。
     * 设置为 true 时，缩放按钮处于活动状态，并允许用户与其交互。
     * 设置为 false 时，缩放按钮处于禁用状态，无法使用。
     */
    enableZoomBtn: import("@angular/core").InputSignal<boolean>;
    /**
     * 是否启用全屏按钮
     */
    enableFullscreenBtn: import("@angular/core").InputSignal<boolean>;
    /**
     * 预览ID输入信号（仅编辑模式使用）
     */
    previewId: import("@angular/core").InputSignal<string | undefined>;
    /**
     * 预览模式输入信号
     * normal: 正常预览模式，只接受传入的 config
     * edit: 编辑预览模式，使用 sessionService 处理临时数据
     */
    previewMode: import("@angular/core").InputSignal<previewType>;
    /**
     * 传入的配置数据（正常预览模式使用）
     */
    passedConfig: import("@angular/core").InputSignal<ComponentConfig<import("../../core").ComponentBaseProps, string>[] | undefined>;
    allConfigs: WritableSignal<ComponentConfig[]>;
    config: ComponentConfig;
    previousConfigs: ComponentConfig[];
    scaleRatio: number;
    canvasWidth: number;
    canvasHeight: number;
    private componentsLoaded;
    private containerRefReady;
    private fullscreenActive;
    constructor();
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    onFullscreenChange(): void;
    onWebkitFullscreenChange(): void;
    onWindowResize(): void;
    /**
     * 从 SessionService 加载配置数据（编辑预览模式）
     */
    private loadConfigsFromSession;
    /**
     * 根据缩放状态更新视图
     */
    private updateZoomState;
    /**
     * 生成画布并创建组件
     */
    generateCanvas(): void;
    /**
     * 处理配置数据并创建组件
     */
    private processConfigs;
    /**
     * 创建所有子组件
     */
    createAllComponents(configs: ComponentConfig[]): void;
    /**
     * 创建单个组件
     */
    private createComponent;
    /**
     * 判断是否为异步渲染的组件类型
     */
    private isAsyncComponent;
    /**
     * 计算缩放比例
     */
    private calculateScale;
    /**
     * 切换缩放模式
     */
    toggleZoomMode(): void;
    isFullscreen(): boolean;
    toggleFullscreen(): Promise<void>;
    private enterFullscreen;
    private exitFullscreen;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxPuzzlePreviewComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgxPuzzlePreviewComponent, "ngx-puzzle-preview, puzzle-preview", never, { "enableZoom": { "alias": "enableZoom"; "required": false; "isSignal": true; }; "enableZoomBtn": { "alias": "enableZoomBtn"; "required": false; "isSignal": true; }; "enableFullscreenBtn": { "alias": "enableFullscreenBtn"; "required": false; "isSignal": true; }; "previewId": { "alias": "previewId"; "required": false; "isSignal": true; }; "previewMode": { "alias": "previewMode"; "required": false; "isSignal": true; }; "passedConfig": { "alias": "passedConfig"; "required": false; "isSignal": true; }; }, { "enableZoom": "enableZoomChange"; }, never, never, true, never>;
}
