import type { ScaleMode, ScaleInfo, ScreenScalerConfig } from '../types';
export declare class ScreenScaler {
    private container;
    private wrapperContainer;
    private parentContainer;
    private config;
    private resizeHandler;
    private rafId;
    private isDestroyed;
    constructor(config: ScreenScalerConfig);
    /**
     * 设置容器结构 - 创建包裹容器
     */
    private setupContainerStructure;
    /**
     * 验证配置参数
     */
    private validateConfig;
    /**
     * 初始化缩放器
     */
    private init;
    /**
     * 设置ResizeObserver监听包裹容器尺寸变化
     */
    private setupResizeObserver;
    /**
     * 设置容器基础样式
     */
    private setupContainerStyles;
    /**
     * 处理窗口大小变化
     */
    private handleResize;
    /**
     * 获取包裹容器的可用尺寸
     */
    private getScreenSize;
    /**
     * 重置所有样式到初始状态
     */
    private resetStyles;
    /**
     * 默认模式 - 不做任何缩放处理
     */
    private scaleNone;
    /**
     * 等比缩放模式
     */
    private scaleAuto;
    /**
     * 宽度适配模式
     */
    private scaleWidth;
    /**
     * 高度适配模式
     */
    private scaleHeight;
    /**
     * 拉伸适配模式
     */
    private scaleStretch;
    /**
     * 执行缩放
     */
    setScale(): ScaleInfo;
    /**
     * 设置缩放模式
     */
    setMode(mode: ScaleMode): ScaleInfo;
    /**
     * 获取当前缩放模式
     */
    getMode(): ScaleMode;
    /**
     * 获取当前缩放信息
     */
    getScaleInfo(): ScaleInfo;
    /**
     * 更新设计尺寸
     */
    updateDesignSize(width: number, height: number): ScaleInfo;
    /**
     * 启用/禁用自动resize
     */
    setAutoResize(enabled: boolean): void;
    /**
     * 设置缩放变化回调
     */
    setOnScaleChange(callback: (info: ScaleInfo) => void): void;
    /**
     * 销毁缩放器
     */
    destroy(): void;
    /**
     * 检查是否已销毁
     */
    isDestroyed_(): boolean;
}
