import { ImageryProvider } from 'cesium'; import { HTMLAttributes, ForwardRefExoticComponent, PropsWithoutRef, RefAttributes } from 'react'; import { Options } from './hooks'; export type CesiumComponentOptions = Options & { renderContainer?: boolean; noChildren?: boolean; containerProps?: (keyof Props)[] | ((props: Props) => HTMLAttributes); defaultProps?: Partial; /** * Render-phase hook to resolve prop overrides before the Cesium element is * created. Use this together with `useCesiumResource` to integrate async * resource loading with React Suspense. Returns a partial props object that * is merged over the incoming props. */ useResource?: (props: Props) => Partial | undefined; }; export type CesiumComponentRef = { cesiumElement?: Element; }; export type CesiumComponentType = ForwardRefExoticComponent & RefAttributes>>; export type RootComponentInternalProps = { onUpdate?: () => void; }; export type RootComponentInternalValues = { imageryLayerWaitingList?: (Promise | ImageryProvider)[]; }; export declare const createCesiumComponent: ({ renderContainer, noChildren, containerProps, defaultProps, useResource, ...options }: CesiumComponentOptions) => CesiumComponentType;