import type { CanvasKit, Canvas as SkCanvas } from 'canvaskit-wasm';
import type { ReactNode } from 'react';
import { CkElement, CkElementContainer, CkElementCreator, CkElementProps, CkObjectTyping, Color } from './SkiaElementTypes';
export interface CkCanvasProps extends CkElementProps<SkCanvas> {
    clear?: Color | string;
    rotate?: {
        degree: number;
        px?: number;
        py?: number;
    };
    children?: ReactNode;
}
declare type CkCanvasChild = CkElement<'ck-surface'> | CkElement<'ck-text'>;
export declare class CkCanvas implements CkElementContainer<'ck-canvas'> {
    readonly canvasKit: CanvasKit;
    readonly props: CkObjectTyping['ck-canvas']['props'];
    skObject?: CkObjectTyping['ck-canvas']['type'];
    readonly skObjectType: CkObjectTyping['ck-canvas']['name'];
    readonly type: 'ck-canvas';
    children: CkCanvasChild[];
    private deleted;
    constructor(canvasKit: CanvasKit, props: CkObjectTyping['ck-canvas']['props']);
    render(parent: CkElementContainer<any>): void;
    private drawSelf;
    delete(): void;
}
export declare function isCkCanvas(ckElement: CkElement<any>): ckElement is CkCanvas;
export declare const createCkCanvas: CkElementCreator<'ck-canvas'>;
export {};
