import type { TilesRenderer as TilesRendererImpl, TilesRendererEventMap } from '3d-tiles-renderer/three'; import type { ReactNode, Context, ForwardRefExoticComponent, RefAttributes, JSX, } from 'react'; export declare const TilesRendererContext: Context; interface EastNorthUpFrameProps { lat?: number; lon?: number; height?: number; az?: number; el?: number; roll?: number; children?: ReactNode; } export declare const EastNorthUpFrame: ForwardRefExoticComponent< EastNorthUpFrameProps & RefAttributes >; interface TilesPluginProps< Plugin extends new ( ...args: any[] ) => void, Params extends any[] = ConstructorParameters, > { plugin: Plugin; args?: Params; [key: string]: Params | Plugin | any; } export declare const TilesPlugin: < Plugin extends new ( ...args: any[] ) => void, Params extends any[] = ConstructorParameters, >( props: TilesPluginProps & RefAttributes, ) => JSX.Element; // dynamically mapping keys of TilesRendererEventMap to onCamelCased type CamelCase = S extends `${ infer T }-${ infer U }` ? `${ T }${ Capitalize> }` : S; type EventHandler = ( event: TilesRendererEventMap[K], ) => void; type TilesRendererEventMapForR3f = { [K in keyof TilesRendererEventMap as `on${ Capitalize> }`]?: EventHandler; }; interface TilesRendererProps extends Partial, TilesRendererEventMapForR3f { url?: string; enabled?: boolean; dispose?: () => void; children?: ReactNode; } export declare const TilesRenderer: ForwardRefExoticComponent< TilesRendererProps & RefAttributes >;