import * as React from 'react'; import { BaseGLViewProps, ComponentOrHandle, GLSnapshot, SnapshotOptions } from './GLView.types'; export interface GLViewProps extends BaseGLViewProps { onContextCreate: (gl: WebGLRenderingContext) => void; onContextRestored?: (gl?: WebGLRenderingContext) => void; onContextLost?: () => void; webglContextAttributes?: WebGLContextAttributes; /** * [iOS only] Number of samples for Apple's built-in multisampling. */ msaaSamples: number; /** * A ref callback for the native GLView */ nativeRef_EXPERIMENTAL?(callback: ComponentOrHandle | HTMLCanvasElement | null): any; } export declare class GLView extends React.Component { canvas?: HTMLCanvasElement; gl?: WebGLRenderingContext; static createContextAsync(): Promise; static destroyContextAsync(exgl?: WebGLRenderingContext | number): Promise; static takeSnapshotAsync(gl: WebGLRenderingContext, options?: SnapshotOptions): Promise; componentWillUnmount(): void; render(): JSX.Element; componentDidUpdate(prevProps: GLViewProps): void; private getGLContextOrReject; private onContextLost; private onContextRestored; private getGLContext; private setCanvasRef; takeSnapshotAsync(options?: SnapshotOptions): Promise; startARSessionAsync(): Promise; createCameraTextureAsync(): Promise; destroyObjectAsync(glObject: WebGLObject): Promise; }