import { IMiniappSelect, IResizeEventListener, ICanvasContext2D, IObject, IFunction, IAutoBounds, IScreenSizeData } from '@leafer/interface';
import { LeaferCanvasBase } from '@leafer/core';

declare class LeaferCanvas extends LeaferCanvasBase {
    get allowBackgroundColor(): boolean;
    viewSelect: IMiniappSelect;
    resizeListener: IResizeEventListener;
    testView: any;
    testContext: ICanvasContext2D;
    init(): void;
    protected initView(view?: IObject): void;
    protected __createView(): void;
    updateViewSize(): void;
    updateClientBounds(callback?: IFunction): void;
    startAutoLayout(autoBounds: IAutoBounds, listener: IResizeEventListener): void;
    checkSize(): void;
    stopAutoLayout(): void;
    unrealCanvas(): void;
    protected emitResize(size: IScreenSizeData): void;
}

export { LeaferCanvas };
