/** @packageDocumentation
 * @module Tools
 */
import { EmphasizeElements, ScreenViewport, Tool } from "@itwin/core-frontend";
/** Applies the `EmphasizeElements` API in some way to the selected Viewport.
 * @beta
 */
export declare abstract class EmphasizeElementsTool extends Tool {
    protected get _wantCreate(): boolean;
    protected get _wantClear(): boolean;
    protected abstract execute(emph: EmphasizeElements, vp: ScreenViewport): void;
    run(_args: any[]): Promise<boolean>;
}
/** If any elements are selected, emphasize them all by overriding their color to be orange; and de-emphasize all other elements by drawing them transparent grey.
 * @beta
 */
export declare class EmphasizeSelectedElementsTool extends EmphasizeElementsTool {
    static toolId: string;
    static get minArgs(): number;
    static get maxArgs(): number;
    private _type;
    execute(emph: EmphasizeElements, vp: ScreenViewport): void;
    parseAndRun(...args: string[]): Promise<boolean>;
}
/** Isolate all selected elements so that *only* those elements will be drawn.
 * @beta
 */
export declare class IsolateSelectedElementsTool extends EmphasizeElementsTool {
    static toolId: string;
    execute(emph: EmphasizeElements, vp: ScreenViewport): void;
}
/** Clear the set of isolated elements.
 * @beta
 */
export declare class ClearIsolatedElementsTool extends EmphasizeElementsTool {
    static toolId: string;
    protected get _wantCreate(): boolean;
    execute(emph: EmphasizeElements, vp: ScreenViewport): void;
}
/** Reset [EmphasizeElements]($frontend) for the active [Viewport]($frontend).
 * @beta
 */
export declare class ClearEmphasizedElementsTool extends EmphasizeElementsTool {
    static toolId: string;
    protected get _wantCreate(): boolean;
    protected get _wantClear(): boolean;
    execute(emph: EmphasizeElements, vp: ScreenViewport): void;
}
/** Emphasize the set of elements currently visible in the view based on [Viewport.queryVisibleFeatures]($frontend).
 * @beta
 */
export declare class EmphasizeVisibleElementsTool extends EmphasizeElementsTool {
    static toolId: string;
    static get minArgs(): number;
    static get maxArgs(): number;
    private _options;
    protected get _wantClear(): boolean;
    parseAndRun(...input: string[]): Promise<boolean>;
    execute(emph: EmphasizeElements, vp: ScreenViewport): void;
}
//# sourceMappingURL=EmphasizeElementsTool.d.ts.map