import type { UmbPathPattern, UmbPathPatternParamsType } from '../../router/index.js'; export interface UmbWorkspaceLink { /** * The path to the workspace. */ href: string; /** * Set when following `href` leaves whatever the host is currently showing, so the link has to open * in a new browser tab. Left out when the link navigates within the current view. */ target?: '_blank'; } export interface UmbGenerateWorkspaceLinkArgs { /** * The path pattern of the workspace to link to. */ pattern: UmbPathPattern; /** * The parameters of the path pattern. */ params: ParamsType; /** * The path of the host's workspace modal route, as handed out by `observeRouteBuilder`. Leave it out * when the host has no ancestor route context. */ routePath?: string; } /** * Generate a link to a workspace from a host that may or may not sit in a routable context. * @param {UmbGenerateWorkspaceLinkArgs} args - The pattern and parameters of the workspace, and the host's route path. * @returns {UmbWorkspaceLink} The path to the workspace, and how to open it. * @example * ```ts * umbGenerateWorkspaceLink({ * pattern: UMB_EDIT_DOCUMENT_WORKSPACE_PATH_PATTERN, * params: { unique: this._unique }, * routePath: this._editPath, * }); * ``` */ export declare function umbGenerateWorkspaceLink(args: UmbGenerateWorkspaceLinkArgs): UmbWorkspaceLink;