/** @packageDocumentation
 * @module Tools
 */
import { type RenderTargetDebugControl, ScreenViewport, Tool } from "@itwin/core-frontend";
/** Executes some code against a RenderTargetDebugControl obtained from the selected viewport.
 * @beta
 */
export declare abstract class RenderTargetDebugControlTool extends Tool {
    run(_args: any[]): Promise<boolean>;
    protected abstract execute(_control: RenderTargetDebugControl, _vp: ScreenViewport): void;
}
type DebugControlBoolean = "displayDrapeFrustum" | "displayMaskFrustum" | "drawForReadPixels" | "displayRealityTileRanges" | "displayRealityTileRanges" | "displayRealityTilePreload" | "freezeRealityTiles" | "logRealityTiles" | "vcSupportIntersectingVolumes" | "displayNormalMaps";
/** Toggles some aspect of a RenderTargetDebugControl for the selected viewport.
 * @beta
 */
export declare abstract class RenderTargetDebugControlToggleTool extends RenderTargetDebugControlTool {
    static get minArgs(): number;
    static get maxArgs(): number;
    private _enable?;
    protected abstract get aspect(): DebugControlBoolean;
    protected execute(control: RenderTargetDebugControl, vp: ScreenViewport): void;
    parseAndRun(...args: string[]): Promise<boolean>;
}
/** Toggles between normal rendering and rendering as if drawing to an off-screen framebuffer for element locate. Useful for debugging locate issues.
 * @beta
 */
export declare class ToggleReadPixelsTool extends RenderTargetDebugControlToggleTool {
    static toolId: string;
    get aspect(): DebugControlBoolean;
}
/** Turn on the display of the draping frustum.
 * @beta
 */
export declare class ToggleDrapeFrustumTool extends RenderTargetDebugControlToggleTool {
    static toolId: string;
    get aspect(): DebugControlBoolean;
}
/** Turn on the display of the planar mask frustum.
 * @beta
 */
export declare class ToggleMaskFrustumTool extends RenderTargetDebugControlToggleTool {
    static toolId: string;
    get aspect(): DebugControlBoolean;
}
/** Control whether all geometry renders, or only instanced or batched geometry.
 * Allowed argument: "instanced", "batched", "all". Defaults to "all" if no arguments supplied.
 * @beta
 */
export declare class TogglePrimitiveVisibilityTool extends RenderTargetDebugControlTool {
    static toolId: string;
    static get minArgs(): number;
    static get maxArgs(): number;
    private _visibility;
    execute(control: RenderTargetDebugControl, vp: ScreenViewport): void;
    parseAndRun(...args: string[]): Promise<boolean>;
}
/** Turn on display of reality tile boundaries.
 * @beta
 */
export declare class ToggleRealityTileBounds extends RenderTargetDebugControlToggleTool {
    static toolId: string;
    get aspect(): DebugControlBoolean;
}
/** Turn on display of reality tile preload debugging.
 * @beta
 */
export declare class ToggleRealityTilePreload extends RenderTargetDebugControlToggleTool {
    static toolId: string;
    get aspect(): DebugControlBoolean;
}
/** Freeze loading of reality tiles.
 * @beta
 */
export declare class ToggleRealityTileFreeze extends RenderTargetDebugControlToggleTool {
    static toolId: string;
    get aspect(): DebugControlBoolean;
}
/** Turn on logging of console tile selection and loading (to console).
 * @beta
 */
export declare class ToggleRealityTileLogging extends RenderTargetDebugControlToggleTool {
    static toolId: string;
    get aspect(): DebugControlBoolean;
}
/** Toggles support for intersecting volume classifiers.
 * @beta
 */
export declare class ToggleVolClassIntersect extends RenderTargetDebugControlToggleTool {
    static toolId: string;
    get aspect(): DebugControlBoolean;
}
/** Set the number of antialiasing samples to use (<=1 for no antialiasing).
 * @beta
 */
export declare class SetAASamplesTool extends RenderTargetDebugControlTool {
    static toolId: string;
    static get minArgs(): number;
    static get maxArgs(): number;
    private _aaSamples;
    private _changeAll;
    execute(_control: RenderTargetDebugControl, vp: ScreenViewport): void;
    /** Runs this tool, setting the number of antialiasing samples to use (<=1 for no antialiasing).
     * @param args contains the arguments used by the tool's run method: args[0] contains the number of samples; optionally args[1] can contain the word "all" in order to set those number of samples for all viewports.
     */
    parseAndRun(...args: string[]): Promise<boolean>;
}
/** Toggles support for normal maps.
 * @beta
 */
export declare class ToggleNormalMaps extends RenderTargetDebugControlToggleTool {
    static toolId: string;
    get aspect(): DebugControlBoolean;
}
export {};
//# sourceMappingURL=RenderTargetTools.d.ts.map