import { Tool } from "@itwin/core-frontend";
/** Base class for a tool that can convert between source aspect Ids and element Ids.
 * A "source aspect Id" is a string that identifies an object (such as an element) in the source document from which the iModel originated.
 * For example, if the iModel was produced by the MicroStation bridge, the source aspect Id is usually a V8 element Id.
 * @beta
 */
export declare abstract class SourceAspectIdTool extends Tool {
    static get minArgs(): number;
    static get maxArgs(): number;
    protected abstract getECSql(queryId: string): string;
    run(idToQuery?: string, copyToClipboard?: boolean): Promise<boolean>;
    parseAndRun(...keyinArgs: string[]): Promise<boolean>;
    private doQuery;
}
/** Given a source aspect Id, output the Id of the corresponding element in the iModel.
 * A "source aspect Id" is a string that identifies an object (such as an element) in the source document from which the iModel originated.
 * For example, if the iModel was produced by the MicroStation bridge, the source aspect Id is usually a V8 element Id.
 * Arguments:
 *  - `id=elementId` where `elementId` is the numeric Id of the element of interest (e.g., `0x13a6c`; decimal notation is also permitted).
 *  - `copy=0|1` where `1` indicates the source aspect Id should be copied to the clipboard.
 * The command outputs to the IModelApp.notifications the corresponding source aspect Id, or "NOT FOUND".
 * @beta
 */
export declare class SourceAspectIdFromElementIdTool extends SourceAspectIdTool {
    static toolId: string;
    protected getECSql(queryId: string): string;
}
/** Given the Id of an element in the iModel, output the source aspect Id of the object in the source document from which the element originated.
 * A "source aspect Id" is a string that identifies an object (such as an element) in the source document from which the iModel originated.
 * For example, if the iModel was produced by the MicroStation bridge, the source aspect Id is usually a V8 element Id.
 * Arguments:
 *  - `id=sourceAspectId` where `sourceAspectId` is the string identifier of the object of interest.
 *  - `copy=0|1` where `1` indicates the element Id should be copied to the clipboard.
 * The command outputs to the IModelApp.notifications the corresponding element Id, or "NOT FOUND".
 * @beta
 */
export declare class ElementIdFromSourceAspectIdTool extends SourceAspectIdTool {
    static toolId: string;
    protected getECSql(queryId: string): string;
}
//# sourceMappingURL=SourceAspectIdTools.d.ts.map