/** @packageDocumentation
 * @module IModelApp
 */
import { IModelAppOptions } from "./IModelApp";
import { AnimationBranchStates } from "./render/GraphicBranch";
import { RenderSystem } from "./render/RenderSystem";
import { RenderTarget } from "./render/RenderTarget";
import { ViewRect } from "./common/ViewRect";
import { _implementationProhibited } from "./common/internal/Symbols";
/**
 * A RenderTarget for applications that must run in environments where WebGL is not present.
 * This is typically used in tests.
 * @internal
 */
export declare class NullTarget extends RenderTarget {
    protected readonly [_implementationProhibited]: undefined;
    get analysisFraction(): number;
    set analysisFraction(_fraction: number);
    get renderSystem(): any;
    get viewRect(): ViewRect;
    get wantInvertBlackBackground(): boolean;
    get animationBranches(): AnimationBranchStates | undefined;
    set animationBranches(_branches: AnimationBranchStates | undefined);
    onDestroy(): void;
    reset(): void;
    changeScene(): void;
    changeDynamics(): void;
    changeDecorations(): void;
    changeRenderPlan(): void;
    drawFrame(_sceneMilSecElapsed?: number): void;
    overrideFeatureSymbology(): void;
    setHiliteSet(): void;
    setFlashed(): void;
    setViewRect(): void;
    onResized(): void;
    dispose(): void;
    updateViewRect(): boolean;
    readPixels(): void;
    get screenSpaceEffects(): Iterable<string>;
    set screenSpaceEffects(_effects: Iterable<string>);
}
/**
 * A RenderSystem for applications that must run in environments where WebGL is not present.
 * This is typically used in tests.
 * @internal
 */
export declare class NullRenderSystem extends RenderSystem {
    get isValid(): boolean;
    doIdleWork(): boolean;
    createTarget(): NullTarget;
    createOffscreenTarget(): NullTarget;
    createGraphic(): any;
    createGraphicList(): any;
    createGraphicBranch(): any;
    createBatch(): any;
    dispose(): void;
    constructor();
    createRenderGraphic(): undefined;
    createGraphicFromTemplate(): any;
}
/** A utility class intended for applications (primarily test-runners) that run in environments that lack support for WebGL.
 * It installs a [[RenderSystem]] that produces no graphics.
 * Use [[NoRenderApp.startup]] instead of [[IModelApp.startup]] to initialize your application frontend.
 * You may then use the [[IModelApp]] API as normal.
 * @public
 */
export declare class NoRenderApp {
    /** Initializes [[IModelApp]] with a [[RenderSystem]] that produces no graphics.
     * Use this in place of [[IModelApp.startup]], then proceed to use [[IModelApp]]'s API as normal.
     */
    static startup(opts?: IModelAppOptions): Promise<void>;
}
//# sourceMappingURL=NoRenderApp.d.ts.map