import { IKosDataModel, KosCreationContext } from '../../../core/core/kosModel';
import { IKosIdentifiable } from '../../../core/core/types';
import { PublicModelInterface } from '../../../core/types';
import { Renderer } from '../canvas-dispatcher';
import { CanvasRendererOptions } from './types';
export declare const MODEL_TYPE = "canvas-renderer-model";
export type CanvasRendererModel = PublicModelInterface<CanvasRendererModelImpl>;
export declare class CanvasRendererModelImpl implements IKosDataModel, IKosIdentifiable {
    id: string;
    private router;
    private logger;
    private _renderer;
    private _clearOnComplete;
    private isStreaming;
    private renderLoopId;
    private sendIntervalId;
    private timeoutId;
    private apiPath;
    private endpointName;
    width: number;
    height: number;
    fps: number;
    durationMs: number | null;
    private _onFrame;
    constructor(modelId: string, options: CanvasRendererOptions, context: KosCreationContext);
    set onFrame(callback: (dataString: string) => void);
    set renderer(renderer: Renderer | null);
    setClearOnComplete(clear: boolean | undefined): void;
    /**
     * Sends a data frame to the canvas dispatcher.
     *
     * @param data - The data frame to be sent as a string.
     *
     * @remarks
     * This method is responsible for dispatching the provided data frame
     * to the canvas system using the `sendCanvasData` function.
     */
    sendDataFrame(data: string, apiPath?: string): void;
    checkStreaming(): void;
    private handleFrame;
    stopStreaming(clearCanvas?: boolean): void;
    private clearCanvas;
    isOneShotDone(): any;
    startStreaming(): void;
    init(): Promise<void>;
    load(): Promise<void>;
}
//# sourceMappingURL=canvas-renderer-model.d.ts.map