import { ElementEE, Element_ } from '../../../../../Class/Element';
import { System } from '../../../../../system';
import { Dict } from '../../../../../types/Dict';
import { CA } from '../../../../../types/interface/CA';
import { Style } from '../../../Style';
import CanvasComp from './Component';
export interface I {
    style?: Style;
    width?: number;
    height?: number;
    d?: any[];
    attr?: Dict<string>;
}
export interface O {
}
export interface CanvasJ {
}
export interface CanvasEE extends ElementEE<{}> {
}
export interface CanvasC extends CanvasComp {
}
export default class Canvas extends Element_<I, O, CanvasJ, CanvasEE, CanvasC> implements CA {
    __: string[];
    private _canvas;
    private _ctx;
    constructor(system: System);
    clear(): Promise<void>;
    drawImage(imageBitmap: ImageBitmap, x: number, y: number, width: number, height: number): Promise<void>;
    strokePath(d: string): void;
    fillPath(d: string, fillRule: CanvasFillRule): void;
    scale(sx: number, sy: number): void;
    translate(x: number, y: number): void;
    draw(step: any[]): Promise<void>;
    private _local_component;
    toBlob(type: string, quality: number): Promise<Blob>;
    toDataUrl(type: string, quality: number): Promise<string>;
    captureStream({ frameRate, }: {
        frameRate: number;
    }): Promise<MediaStream>;
    getImageData(x: number, y: number, width: number, height: number, opt: any): Promise<ImageData>;
    putImageData(image: ImageData, dx: number, dy: number, x: number, y: number, width: number, height: number): Promise<void>;
    onDataInputData<K extends keyof I>(name: K, data: any): void;
}
