/// <reference types="@webgpu/types" />
import { type MotionGPUErrorReport } from '../core/error-report.js';
import type { FragMaterial } from '../core/material.js';
import type { AnyPass, ColorPipelineOptions, RenderMode, RenderTargetDefinitionMap } from '../core/types.js';
import { type ComponentPropsWithoutRef, type ReactNode, type Ref } from 'react';
interface FragCanvasOwnProps {
    material: FragMaterial;
    renderTargets?: RenderTargetDefinitionMap;
    passes?: AnyPass[];
    clearColor?: [number, number, number, number];
    color?: ColorPipelineOptions;
    renderMode?: RenderMode;
    autoRender?: boolean;
    maxDelta?: number;
    adapterOptions?: GPURequestAdapterOptions;
    deviceDescriptor?: GPUDeviceDescriptor;
    dpr?: number;
    showErrorOverlay?: boolean;
    errorRenderer?: (report: MotionGPUErrorReport) => ReactNode;
    onError?: (report: MotionGPUErrorReport) => void;
    errorHistoryLimit?: number;
    onErrorHistory?: (history: MotionGPUErrorReport[]) => void;
    children?: ReactNode;
    ref?: Ref<HTMLCanvasElement>;
}
type BlockedCanvasProps = {
    height?: undefined;
    width?: undefined;
};
type CanvasDOMProps = Omit<ComponentPropsWithoutRef<'canvas'>, keyof FragCanvasOwnProps | keyof BlockedCanvasProps | 'color' | 'children'>;
export type FragCanvasProps = FragCanvasOwnProps & CanvasDOMProps & BlockedCanvasProps;
export declare function FragCanvas({ material, renderTargets, passes, clearColor, color, renderMode, autoRender, maxDelta, adapterOptions, deviceDescriptor, dpr, showErrorOverlay, errorRenderer, onError, errorHistoryLimit, onErrorHistory, ref, className, style, children, height: blockedHeight, width: blockedWidth, ...canvasProps }: FragCanvasProps): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=FragCanvas.d.ts.map