import type { Shape } from 'cannon-es'; import React from 'react'; export declare type ProviderProps = { children: React.ReactNode; gravity?: number[]; tolerance?: number; step?: number; iterations?: number; allowSleep?: boolean; broadphase?: 'Naive' | 'SAP'; axisIndex?: number; defaultContactMaterial?: { friction?: number; restitution?: number; contactEquationStiffness?: number; contactEquationRelaxation?: number; frictionEquationStiffness?: number; frictionEquationRelaxation?: number; }; size?: number; }; export declare type WorkerCollideEvent = { data: { op: 'event'; type: 'collide'; target: string; body: string; contact: { ni: number[]; ri: number[]; rj: number[]; impactVelocity: number; }; collisionFilters: { bodyFilterGroup: number; bodyFilterMask: number; targetFilterGroup: number; targetFilterMask: number; }; }; }; export declare type WorkerRayhitEvent = { data: { op: 'event'; type: 'rayhit'; ray: { from: number[]; to: number[]; direction: number[]; collisionFilterGroup: number; collisionFilterMask: number; uuid: string; }; hasHit: boolean; body: string | null; shape: (Omit & { body: string; }) | null; rayFromWorld: number[]; rayToWorld: number[]; hitNormalWorld: number[]; hitPointWorld: number[]; hitFaceIndex: number; distance: number; shouldStop: boolean; }; }; export default function Provider({ children, step, gravity, tolerance, iterations, allowSleep, broadphase, axisIndex, defaultContactMaterial, size, }: ProviderProps): JSX.Element;