import PropTypes from 'prop-types'; import React from 'react'; import { BaseGLViewProps, GLSnapshot, ExpoWebGLRenderingContext, SnapshotOptions } from './GLView.types'; export { BaseGLViewProps, ExpoWebGLRenderingContext, SnapshotOptions, GLViewProps }; interface GLViewProps extends BaseGLViewProps { onContextCreate: (gl: WebGLRenderingContext) => void; onContextRestored?: (gl?: WebGLRenderingContext) => void; onContextLost?: () => void; webglContextAttributes?: WebGLContextAttributes; } declare type State = { width: number; height: number; }; export declare class GLView extends React.Component { state: { width: number; height: number; }; static propTypes: { onContextCreate: PropTypes.Validator<(...args: any[]) => any>; onContextRestored: PropTypes.Requireable<(...args: any[]) => any>; onContextLost: PropTypes.Requireable<(...args: any[]) => any>; webglContextAttributes: PropTypes.Requireable; }; _hasContextBeenCreated: boolean; _webglContextAttributes: WebGLContextAttributes | undefined; canvas: HTMLCanvasElement | undefined; container?: HTMLElement; gl?: WebGLRenderingContext; static createContextAsync(): Promise; static destroyContextAsync(exgl?: WebGLRenderingContext | number): Promise; static takeSnapshotAsync(exgl: WebGLRenderingContext, options?: SnapshotOptions): Promise; componentDidMount(): void; _contextCreated: () => void; componentWillUnmount(): void; _updateLayout: () => void; render(): JSX.Element; componentDidUpdate(): void; _createContext(): WebGLRenderingContext; _getGlOrReject(): WebGLRenderingContext; _contextLost: (event: Event) => void; _contextRestored: () => void; _assignCanvasRef: (canvas: HTMLCanvasElement) => void; _assignContainerRef: (element: HTMLElement | null) => void; takeSnapshotAsync(options?: SnapshotOptions): Promise; startARSessionAsync(): Promise; createCameraTextureAsync(): Promise; destroyObjectAsync(glObject: WebGLObject): Promise; }