/** @packageDocumentation
 * @module Tools
 */
import { Id64String } from "@itwin/core-bentley";
import { GeometrySummaryOptions } from "@itwin/core-common";
import { BeButtonEvent, EventHandled, HitDetail, LocateFilterStatus, LocateResponse, PrimitiveTool } from "@itwin/core-frontend";
/** Creates a readable text summary of a geometric element or geometry part. The keyin takes the following arguments, all of which are optional:
 *  - `id=elementId,elementId,elementId` comma-separated list of element Ids where each `elementId` is a hexadecimal element Id such as "0x12cb";
 *  - `symbology=0|1` where 1 indicates detailed symbology information should be included in the output;
 *  - `placement=0|1` where 1 indicates detailed geometric element placement should be included; and
 *  - `verbosity=0|1|2` controlling the verbosity of the output for each geometric primitive in the geometry stream. Higher values = more detailed information. Note verbosity=2 can produce megabytes of data for certain types of geometric primitives like large meshes.
 *  - `modal=0|1` where 1 indicates the output should appear in a modal dialog.
 *  - `copy=0|1` where 1 indicates the output should be copied to the clipboard. Defaults to true.
 *  - `refs=0|1` where 1 indicates that for geometry parts a list of all elements referencing that part should be included in the output. This is extremely computationally expensive.
 * If no id is specified, the tool runs in interactive mode: first operating upon the selection set (if any), then allowing the user to select additional elements.
 * @beta
 */
export declare class InspectElementTool extends PrimitiveTool {
    static toolId: string;
    static get minArgs(): number;
    static get maxArgs(): number;
    private _options;
    private _elementIds?;
    private _modal;
    private _useSelection;
    private _doCopy;
    private _explodeParts;
    constructor(options?: GeometrySummaryOptions, elementIds?: Id64String[]);
    private setupAndPromptForNextAction;
    private showPrompt;
    autoLockTarget(): void;
    requireWriteableTarget(): boolean;
    onUnsuspend(): Promise<void>;
    onPostInstall(): Promise<void>;
    onDataButtonDown(ev: BeButtonEvent): Promise<EventHandled>;
    onResetButtonUp(_ev: BeButtonEvent): Promise<EventHandled>;
    onReinitialize(): Promise<void>;
    onRestartTool(): Promise<void>;
    filterHit(hit: HitDetail, _out: LocateResponse): Promise<LocateFilterStatus>;
    private process;
    parseAndRun(...inputArgs: string[]): Promise<boolean>;
}
//# sourceMappingURL=InspectElementTool.d.ts.map