import * as React from 'react'; import PropTypes from 'prop-types'; import { SurfaceCreateEvent, GLSnapshot, ExpoWebGLRenderingContext, SnapshotOptions, BaseGLViewProps } from './GLView.types'; declare type GLViewProps = { /** * Called when the OpenGL context is created, with the context object as a parameter. The context * object has an API mirroring WebGL's WebGLRenderingContext. */ onContextCreate(gl: ExpoWebGLRenderingContext): void; /** * [iOS only] Number of samples for Apple's built-in multisampling. */ msaaSamples: number; /** * A ref callback for the native GLView */ nativeRef_EXPERIMENTAL?(callback: ComponentOrHandle | null): any; } & BaseGLViewProps; declare type ComponentOrHandle = null | number | React.Component | React.ComponentClass; /** * A component that acts as an OpenGL render target */ export declare class GLView extends React.Component { static NativeView: any; static propTypes: { hitSlop?: PropTypes.Validator | undefined; onLayout?: PropTypes.Validator<((event: import("react-native").LayoutChangeEvent) => void) | undefined> | undefined; pointerEvents?: PropTypes.Validator<"box-none" | "none" | "box-only" | "auto" | undefined> | undefined; removeClippedSubviews?: PropTypes.Validator | undefined; style?: PropTypes.Validator> | undefined; testID?: PropTypes.Validator | undefined; nativeID?: PropTypes.Validator | undefined; collapsable?: PropTypes.Validator | undefined; needsOffscreenAlphaCompositing?: PropTypes.Validator | undefined; renderToHardwareTextureAndroid?: PropTypes.Validator | undefined; accessibilityViewIsModal?: PropTypes.Validator | undefined; accessibilityActions?: PropTypes.Validator | undefined; onAccessibilityAction?: PropTypes.Validator<(() => void) | undefined> | undefined; shouldRasterizeIOS?: PropTypes.Validator | undefined; isTVSelectable?: PropTypes.Validator | undefined; hasTVPreferredFocus?: PropTypes.Validator | undefined; tvParallaxProperties?: PropTypes.Validator | undefined; tvParallaxShiftDistanceX?: PropTypes.Validator | undefined; tvParallaxShiftDistanceY?: PropTypes.Validator | undefined; tvParallaxTiltAngle?: PropTypes.Validator | undefined; tvParallaxMagnification?: PropTypes.Validator | undefined; onStartShouldSetResponder?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined; onMoveShouldSetResponder?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined; onResponderEnd?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onResponderGrant?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onResponderReject?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onResponderMove?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onResponderRelease?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onResponderStart?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onResponderTerminationRequest?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined; onResponderTerminate?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onStartShouldSetResponderCapture?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined; onMoveShouldSetResponderCapture?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined; onTouchStart?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onTouchMove?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onTouchEnd?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onTouchCancel?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; onTouchEndCapture?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined; accessible?: PropTypes.Validator | undefined; accessibilityLabel?: PropTypes.Validator | undefined; accessibilityRole?: PropTypes.Validator<"none" | "button" | "link" | "search" | "image" | "keyboardkey" | "text" | "adjustable" | "header" | "summary" | "imagebutton" | undefined> | undefined; accessibilityStates?: PropTypes.Validator | undefined; accessibilityHint?: PropTypes.Validator | undefined; accessibilityComponentType?: PropTypes.Validator<"none" | "button" | "radiobutton_checked" | "radiobutton_unchecked" | undefined> | undefined; accessibilityLiveRegion?: PropTypes.Validator<"none" | "polite" | "assertive" | undefined> | undefined; importantForAccessibility?: PropTypes.Validator<"auto" | "yes" | "no" | "no-hide-descendants" | undefined> | undefined; accessibilityElementsHidden?: PropTypes.Validator | undefined; accessibilityTraits?: PropTypes.Validator<"none" | "button" | "link" | "search" | "image" | "text" | "adjustable" | "header" | "summary" | "selected" | "disabled" | "plays" | "key" | "frequentUpdates" | "startsMedia" | "allowsDirectInteraction" | "pageTurn" | import("react-native").AccessibilityTrait[] | undefined> | undefined; onAccessibilityTap?: PropTypes.Validator<(() => void) | undefined> | undefined; onMagicTap?: PropTypes.Validator<(() => void) | undefined> | undefined; accessibilityIgnoresInvertColors?: PropTypes.Validator | undefined; onContextCreate: PropTypes.Requireable<(...args: any[]) => any>; msaaSamples: PropTypes.Requireable; nativeRef_EXPERIMENTAL: PropTypes.Requireable<(...args: any[]) => any>; }; static defaultProps: { msaaSamples: number; }; static createContextAsync(): Promise; static destroyContextAsync(exgl?: ExpoWebGLRenderingContext | number): Promise; static takeSnapshotAsync(exgl?: ExpoWebGLRenderingContext | number, options?: SnapshotOptions): Promise; nativeRef: ComponentOrHandle; exglCtxId?: number; render(): JSX.Element; _setNativeRef: (nativeRef: ComponentOrHandle) => void; _onSurfaceCreate: ({ nativeEvent: { exglCtxId } }: SurfaceCreateEvent) => void; startARSessionAsync(): Promise; createCameraTextureAsync(cameraRefOrHandle: ComponentOrHandle): Promise; destroyObjectAsync(glObject: WebGLObject): Promise; takeSnapshotAsync(options?: SnapshotOptions): Promise; } declare type WebGLObjectId = any; declare class WebGLObject { id: WebGLObjectId; constructor(id: WebGLObjectId); toString(): string; } declare class WebGLTexture extends WebGLObject { } export {};