/** @packageDocumentation
 * @module Backstage
 */
import type { IconSpec } from "@itwin/core-react";
import type { BackstageActionItem, BackstageStageLauncher } from "./BackstageItem.js";
/** Utilities for creating and maintaining backstage items
 * @public
 */
export declare namespace BackstageItemUtilities {
    interface CreateStageLauncherArgs extends Partial<Omit<BackstageStageLauncher, "icon" | "iconNode" | "stageId">>, Pick<BackstageStageLauncher, "stageId"> {
        icon?: BackstageStageLauncher["iconNode"];
    }
    type DeprecatedCreateStageLauncherArgs = [
        frontstageId: string,
        groupPriority: number,
        itemPriority: number,
        label: string,
        subtitle?: string,
        icon?: IconSpec,
        overrides?: Partial<BackstageStageLauncher>
    ];
    /** Creates a stage launcher backstage item. */
    export function createStageLauncher(args: CreateStageLauncherArgs): BackstageStageLauncher;
    /** Creates a stage launcher backstage item.
     * @deprecated in 4.16.0. Uses a deprecated {@link @itwin/core-react#IconSpec} type. Use an overload instead.
     */
    export function createStageLauncher(...args: DeprecatedCreateStageLauncherArgs): BackstageStageLauncher;
    interface CreateActionItemArgs extends Partial<Omit<BackstageActionItem, "icon" | "iconNode">> {
        id: BackstageActionItem["id"];
        icon?: BackstageActionItem["iconNode"];
    }
    type DeprecatedCreateActionItemArgs = [
        itemId: string,
        groupPriority: number,
        itemPriority: number,
        execute: () => void,
        label: string,
        subtitle?: string,
        icon?: IconSpec,
        overrides?: Partial<BackstageActionItem>
    ];
    /** Creates an action backstage item.
     * @note `id` defaults to a specified `stageId`.
     * @note `groupPriority` defaults to `0`.
     * @note `itemPriority` defaults to `0`.
     * @note `label` defaults to `""`.
     */
    export function createActionItem(args: CreateActionItemArgs): BackstageActionItem;
    /** Creates an action backstage item.
     * @deprecated in 4.16.0. Uses a deprecated {@link @itwin/core-react#IconSpec} type. Use an overload instead.
     */
    export function createActionItem(...args: DeprecatedCreateActionItemArgs): BackstageActionItem;
    export {};
}
/** Type-guard that returns `true` if specified array has a single object.
 * @internal
 */
export declare function isArgsUtil<TTuple extends any[], TArgs>(args: TTuple | [TArgs]): args is [TArgs];
//# sourceMappingURL=BackstageItemUtilities.d.ts.map