/**
 * Canvas 工具函数 - 支持 uni-app 和 Web 环境
 */
declare global {
    interface Window {
        uni?: {
            createCanvasContext: (canvasId: string) => CanvasRenderingContext2D & {
                draw?: () => void;
            };
        };
    }
}
/**
 * Canvas 上下文类型（兼容 uni-app 和 Web）
 */
export type CanvasContext = CanvasRenderingContext2D & {
    draw?: () => void;
};
/**
 * Canvas 初始化配置
 */
export interface CanvasInitOptions {
    /** Canvas 元素引用（Web 环境） */
    canvas: HTMLCanvasElement | null;
    /** Canvas ID（uni-app 环境） */
    canvasId: string;
    /** 显示宽度 */
    width: number;
    /** 显示高度 */
    height: number;
    /** Canvas 上下文配置（仅 Web 环境） */
    contextOptions?: CanvasRenderingContext2DSettings;
}
/**
 * Canvas 缓存管理器
 */
export declare class CanvasContextManager {
    private cachedCtx;
    private cachedWidth;
    private cachedHeight;
    private isUniApp;
    constructor();
    /**
     * 检测是否在 uni-app 环境
     */
    get isUniAppEnvironment(): boolean;
    /**
     * 获取或初始化 Canvas 上下文
     * @param options 初始化配置
     * @returns Canvas 上下文，失败返回 null
     */
    getContext(options: CanvasInitOptions): CanvasContext | null;
    /**
     * 清空画布
     */
    clear(width: number, height: number): void;
    /**
     * 触发 uni-app 画布渲染（仅 uni-app 环境需要）
     */
    draw(): void;
    /**
     * 重置缓存（例如 Canvas 元素被销毁时）
     */
    reset(): void;
}
/**
 * 检测是否在 uni-app 环境
 */
export declare function isUniAppEnvironment(): boolean;
/**
 * 创建 Canvas 上下文（简化版 API）
 */
export declare function createCanvasContext(canvas: HTMLCanvasElement | null, canvasId: string, width: number, height: number, contextOptions?: CanvasRenderingContext2DSettings): CanvasContext | null;
