import { Tool, Viewport } from "@itwin/core-frontend";
import { DisplayStyleTool } from "./DisplayStyleTools";
/** This tool specifies or un-specifies a clip color to use for pixels inside or outside the clip region.
 * Arguments can be:
 * - clear
 * - inside   <color string> | clear
 * - outside  <color string> | clear
 * <color string> must be in one of the following forms:
 * "rgb(255,0,0)"
 * "rgba(255,0,0,255)"
 * "rgb(100%,0%,0%)"
 * "hsl(120,50%,50%)"
 * "#rrbbgg"
 * "blanchedAlmond" (see possible values from [[ColorByName]]). Case insensitive.
 * @see [ColorDef]
 * @beta
 */
export declare class ClipColorTool extends Tool {
    static toolId: string;
    static get minArgs(): number;
    static get maxArgs(): number;
    private _clearClipColors;
    private setClipColor;
    /** This runs the tool using the given arguments, specifying or unspecifying a clip color to use for pixels inside or outside the clip region.
     * Arguments can be:
     * - clear
     * - inside   <color string> | clear
     * - outside  <color string> | clear
     * <color string> must be in one of the following forms:
     * "rgb(255,0,0)"
     * "rgba(255,0,0,255)"
     * "rgb(100%,0%,0%)"
     * "hsl(120,50%,50%)"
     * "#rrbbgg"
     * "blanchedAlmond" (see possible values from [[ColorByName]]). Case insensitive.
     * @beta
     */
    parseAndRun(...args: string[]): Promise<boolean>;
}
/** This tool specifies or un-specifies a color and width to use for pixels within the specified width of a clip plane.
 * Arguments can be:
 * - off
 * - default
 * - color   <color string>
 * - width   <number>
 * <color string> must be in one of the following forms:
 * "rgb(255,0,0)"
 * "rgba(255,0,0,255)"
 * "rgb(100%,0%,0%)"
 * "hsl(120,50%,50%)"
 * "#rrbbgg"
 * "blanchedAlmond" (see possible values from [[ColorByName]]). Case insensitive.
 * @see [ColorDef]
 * @beta
 */
export declare class ClipIntersectionTool extends Tool {
    static toolId: string;
    static get minArgs(): number;
    static get maxArgs(): number;
    private _toggleIntersectionStyle;
    private _defaultClipIntersection;
    private setClipIntersection;
    /** This runs the tool using the given arguments, specifying or unspecifying a color and width to use for pixels within the specified width of a clip plane.
     * Arguments can be:
     * - off
     * - default
     * - color   <color string>
     * - width   <number>
     * <color string> must be in one of the following forms:
     * "rgb(255,0,0)"
     * "rgba(255,0,0,255)"
     * "rgb(100%,0%,0%)"
     * "hsl(120,50%,50%)"
     * "#rrbbgg"
     * "blanchedAlmond" (see possible values from [[ColorByName]]). Case insensitive.
     * @beta
     */
    parseAndRun(...args: string[]): Promise<boolean>;
}
/** Controls a view state's view details' flag for producing cut geometry for a clip style.
 * @beta
 */
export declare class ToggleSectionCutTool extends Tool {
    static toolId: string;
    static get minArgs(): number;
    static get maxArgs(): number;
    /** This method runs the tool, controlling a view state's view details' flag for producing cut geometry for a clip style.
     * @param produceCutGeometry whether to produce cut geometry
     */
    run(produceCutGeometry?: boolean): Promise<boolean>;
    /** Executes this tool's run method with args[0] containing `produceCutGeometry`.
     * @see [[run]]
     */
    parseAndRun(...args: string[]): Promise<boolean>;
}
/** Simple tool that toggles a hard-coded clip style overriding various aspects of the cut geometry appearance.
 * @beta
 */
export declare class TestClipStyleTool extends DisplayStyleTool {
    static toolId: string;
    static get maxArgs(): number;
    static get minArgs(): number;
    private _useStyle;
    private _style?;
    protected get require3d(): boolean;
    protected parse(args: string[]): Promise<boolean>;
    protected execute(vp: Viewport): Promise<boolean>;
}
//# sourceMappingURL=ClipTools.d.ts.map