import { LauncherAR } from "./launcher-ar";
export interface ProductAROptions {
    readonly productID: string;
    readonly variationID: string | null;
    readonly variationSKU: string | null;
    readonly useARBanner: boolean;
}
/**
 * Performs AR functionality related to Plattar Products and Variation types
 */
export declare class ProductAR extends LauncherAR {
    private _analytics;
    private readonly _options;
    private _ar;
    constructor(options: ProductAROptions);
    get productID(): string;
    get variationID(): string | null;
    get variationSKU(): string | null;
    private _SetupAnalytics;
    /**
     * Initialise the ProductAR instance. This returns a Promise that resolves
     * successfully if initialisation is successful, otherwise it will fail.
     *
     * filure can occur for a number of reasons but it generally means that AR
     * cannot be performed.
     */
    init(): Promise<LauncherAR>;
    /**
     * Launches the internal AR instance using an appropriate version of AR Viewers
     */
    start(): void;
    canQuicklook(): boolean;
    canRealityViewer(): boolean;
    canSceneViewer(): boolean;
}
