resium
Version:
React components for Cesium
20 lines (19 loc) • 1.25 kB
TypeScript
import { RefObject } from "react";
import { Context } from "./context";
export declare type EventkeyMap<T, P> = {
[K in keyof P]?: keyof T;
};
export declare type Options<Element, Props, State = any> = {
name: string;
create?: (ctx: Context, props: Props, wrapperRef: HTMLDivElement | null) => Element | [Element, State] | undefined;
destroy?: (element: Element, ctx: Context, wrapperRef: HTMLDivElement | null, state?: State) => void;
provide?: (element: Element, ctx: Context, state?: State) => Partial<Context>;
update?: (element: Element, props: Props, prevProps: Props, context: Context) => void;
cesiumProps?: readonly (keyof Props)[];
cesiumReadonlyProps?: readonly (keyof Props)[];
cesiumEventProps?: EventkeyMap<Element, Props>;
setCesiumPropsAfterCreate?: boolean;
useCommonEvent?: boolean;
useRootEvent?: boolean;
};
export declare const useCesiumComponent: <Element_1, Props, State = any>({ name, create, destroy, provide, update, cesiumProps, cesiumReadonlyProps, cesiumEventProps, setCesiumPropsAfterCreate, useCommonEvent, useRootEvent, }: Options<Element_1, Props, State>, props: Props, ref: any) => [Partial<Context> | undefined, boolean, RefObject<HTMLDivElement>];