import type { ToolbarItem, ToolItemDef, UiItemsProvider, Widget } from "@itwin/appui-react";
import { StagePanelLocation, StagePanelSection, ToolbarOrientation, ToolbarUsage } from "@itwin/appui-react";
import type { ScreenViewport } from "@itwin/core-frontend";
import type { DistanceMeasurementFormattingProps } from "../measurements/DistanceMeasurement.js";
import type { AreaMeasurementFormattingProps } from "../measurements/AreaMeasurement.js";
import type { LocationMeasurementFormattingProps } from "../measurements/LocationMeasurement.js";
import type { AngleMeasurementFormattingProps } from "../measurements/AngleMeasurement.js";
import type { RadiusMeasurementFormattingProps } from "../measurements/RadiusMeasurement.js";
export interface MeasureToolsUiProviderOptions {
    itemPriority?: number;
    groupPriority?: number;
    widgetPlacement?: {
        location: StagePanelLocation;
        section?: StagePanelSection;
    };
    enableSheetMeasurement?: boolean;
    stageUsageList?: string[];
    measurementFormattingProps?: {
        distance?: DistanceMeasurementFormattingProps;
        angle?: AngleMeasurementFormattingProps;
        area?: AreaMeasurementFormattingProps;
        location?: LocationMeasurementFormattingProps;
        radius?: RadiusMeasurementFormattingProps;
    };
    allowedViewportCallback?: (vp: ScreenViewport) => boolean;
    additionalToolbarItems?: ToolItemDef[];
    isHiddenCallback?: (activeViewport?: ScreenViewport) => boolean;
}
export declare class MeasureToolsUiItemsProvider implements UiItemsProvider {
    readonly id = "MeasureToolsUiItemsProvider";
    private _props;
    constructor(props?: MeasureToolsUiProviderOptions);
    provideToolbarItems(_stageId: string, stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation): ToolbarItem[];
    provideWidgets(_stageId: string, stageUsage: string, location: StagePanelLocation, section?: StagePanelSection | undefined): ReadonlyArray<Widget>;
}
//# sourceMappingURL=MeasureToolsUiProvider.d.ts.map