import type { UmbRoutableWorkspaceContext } from '../contexts/tokens/routable-workspace-context.interface.js';
import type { UmbWorkspaceContext } from '../workspace-context.interface.js';
import type { UmbControllerHostElement } from '../../../../libs/controller-api/index.js';
import type { ManifestElementAndApi } from '../../../../libs/extension-api/index.js';
export interface ManifestWorkspace<MetaType extends MetaWorkspace = MetaWorkspace, ElementType extends UmbControllerHostElement = UmbControllerHostElement, ApiType extends UmbWorkspaceContext = UmbWorkspaceContext> extends ManifestElementAndApi<ElementType, ApiType> {
    type: 'workspace';
    meta: MetaType;
}
export interface MetaWorkspace {
    entityType: string;
}
export interface ManifestWorkspaceRoutableKind extends ManifestWorkspace<MetaWorkspaceRoutableKind, UmbControllerHostElement, UmbRoutableWorkspaceContext> {
    type: 'workspace';
    kind: 'routable';
}
export interface MetaWorkspaceRoutableKind extends MetaWorkspace {
}
declare global {
    interface UmbExtensionManifestMap {
        ManifestWorkspace: ManifestWorkspace;
        ManifestWorkspaceRoutableKind: ManifestWorkspaceRoutableKind;
    }
}
