import type { UmbContentDetailModel } from '../types.js';
import type { UmbElementPropertyDataOwner } from '../property-dataset-context/index.js';
import type { UmbContentTypeModel, UmbPropertyStructureWorkspaceContext } from '../../content-type/index.js';
import type { Observable } from '../../../../external/rxjs/index.js';
import type { UmbVariantId, UmbEntityVariantModel } from '../../../core/variant/index.js';
import type { UmbRoutableWorkspaceContext, UmbVariantDatasetWorkspaceContext } from '../../../core/workspace/index.js';
import type { UmbVariantPropertyGuardManager } from '../../../core/property/index.js';
export interface UmbContentWorkspaceContext<ContentModel extends UmbContentDetailModel = UmbContentDetailModel, ContentTypeModel extends UmbContentTypeModel = UmbContentTypeModel, VariantModelType extends UmbEntityVariantModel = UmbEntityVariantModel> extends UmbElementPropertyDataOwner<ContentModel, ContentTypeModel>, UmbRoutableWorkspaceContext, UmbVariantDatasetWorkspaceContext<VariantModelType>, UmbPropertyStructureWorkspaceContext<ContentTypeModel> {
    readonly IS_CONTENT_WORKSPACE_CONTEXT: true;
    getData(): ContentModel | undefined;
    isLoaded(): Promise<unknown> | undefined;
    variantById(variantId: UmbVariantId): Observable<VariantModelType | undefined>;
    readonly propertyViewGuard: UmbVariantPropertyGuardManager;
    readonly propertyWriteGuard: UmbVariantPropertyGuardManager;
}
