import { BaseWindowHandlerContribution, ContainerModule } from '@visactor/vrender-core';
import type { EnvType, IGlobal, IContext2d, ICanvas, IDomRectLike, IWindowHandlerContribution, IWindowParams } from '@visactor/vrender-core';
declare class MiniAppEventManager {
    addEventListener(type: string, func: EventListenerOrEventListenerObject): void;
    removeEventListener(type: string, func: EventListenerOrEventListenerObject): void;
    cleanEvent(): void;
    cache: Record<string, {
        listener: EventListenerOrEventListenerObject[];
    }>;
}
export declare class TTWindowHandlerContribution extends BaseWindowHandlerContribution implements IWindowHandlerContribution {
    private readonly global;
    static env: EnvType;
    type: EnvType;
    protected eventManager: MiniAppEventManager;
    canvas: ICanvas;
    get container(): HTMLElement | null;
    constructor(global: IGlobal);
    getTitle(): string;
    getWH(): {
        width: number;
        height: number;
    };
    getXY(): {
        x: number;
        y: number;
    };
    createWindow(params: IWindowParams): void;
    private createWindowByConfig;
    private createWindowByCanvas;
    releaseWindow(): void;
    resizeWindow(width: number, height: number): void;
    setDpr(dpr: number): void;
    getContext(): IContext2d;
    getNativeHandler(): ICanvas;
    getDpr(): number;
    addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    dispatchEvent(event: any): boolean;
    getStyle(): CSSStyleDeclaration | Record<string, any>;
    setStyle(style: CSSStyleDeclaration | Record<string, any>): void;
    getBoundingClientRect(): IDomRectLike;
    clearViewBox(color?: string): void;
}
export declare const ttWindowModule: ContainerModule;
export {};
