/// <reference types="webxr" />
import { Vector3, Matrix4, Quaternion, WebGLRenderer, Camera } from 'three';
import { PolyScene } from '../../../engine/scene/PolyScene';
import { CoreWebXRARControllerOptions } from './CommonAR';
import { BaseCoreWebXRController, OnWebXRSessionStartedCallback } from '../_BaseCoreWebXRController';
export declare class CoreWebXRARController extends BaseCoreWebXRController {
    protected options: CoreWebXRARControllerOptions;
    private hitTestSource;
    private hitTestSourceRequested;
    private _hitDetected;
    private _hitMatrix;
    private _hitPosition;
    private _hitQuaternion;
    constructor(scene: PolyScene, renderer: WebGLRenderer, camera: Camera, canvas: HTMLCanvasElement, options: CoreWebXRARControllerOptions);
    createButton(): HTMLElement;
    attachButton(parentElement: HTMLElement, buttonElement: HTMLElement): void;
    requestSession(sessionInit: XRSessionInit, onSessionStarted: OnWebXRSessionStartedCallback): Promise<void | undefined>;
    private _estimatedLightController;
    private _previousSceneBackground;
    protected _onSessionStart(): void;
    protected _onSessionEnd(): void;
    hitMatrix(target: Matrix4): void;
    hitPosition(target: Vector3): void;
    hitQuaternion(target: Quaternion): void;
    hitDetected(): boolean;
    process(frame?: XRFrame): void;
    private _resolveHit;
}
