import { ITrackingMode } from '../tracking-mode.js';
import { TrackingType } from '../tracking-type.js';
import { ARCamera } from './AR-Camera.js';
export declare abstract class ARTrackingCameraBase<TTrackingMode extends ITrackingMode> extends ARCamera {
    protected abstract getTrackingType(): TrackingType;
    protected _trackingImpl: TTrackingMode;
    private _registeredWithSession;
    private _readyReported;
    init(): void;
    protected getTrackingInitFeatures(): string[] | undefined;
    protected validateStart(): void;
    start(): void;
    startSession: () => void;
    endSession: () => void;
    onDeactivate(): void;
    update(dt: number): void;
}
