import { RefObject } from 'react'; import { RootComponentInternalProps } from './component'; import { ResiumContext } from './context'; export type EventkeyMap = { [K in keyof P]?: keyof T; }; type CreateReturnType = Element | [Element, State] | undefined; export type Options = { name: string; create?: (ctx: ResiumContext, props: Props, wrapperRef: HTMLDivElement | null) => Promise> | CreateReturnType; destroy?: (element: Element, ctx: ResiumContext, wrapperRef: HTMLDivElement | null, state?: State) => void; provide?: (element: Element, ctx: ResiumContext, props?: Props, state?: State) => Partial; update?: (element: Element, props: Props, prevProps: Props, context: ResiumContext) => void | Promise; cesiumProps?: readonly (keyof Props)[]; cesiumReadonlyProps?: readonly (keyof Props)[]; cesiumEventProps?: EventkeyMap; otherProps?: readonly (keyof Props)[]; setCesiumPropsAfterCreate?: boolean; useCommonEvent?: boolean; useRootEvent?: boolean; }; export declare const useCesiumComponent: ({ name, create, destroy, provide, update, cesiumReadonlyProps, cesiumEventProps, otherProps, setCesiumPropsAfterCreate, useCommonEvent, useRootEvent, }: Options, props: Props, ref: any) => [Partial | undefined, boolean, RefObject]; export {};