@omnia/fx-models
Version:
Provide Omnia Fx Models Stuffs.
71 lines (70 loc) • 2.71 kB
TypeScript
import { DisplayBreakpointCodes } from "../Enums";
import { GuidValue } from "@omnia/fx-models/internal-do-not-import-from-here/shared/models";
import { Layout } from "../Layout";
import { MultilingualString } from "../MultilingualString";
import { DataToVersion, IVersionedData, IVersionedDataIdentifier, IVersionReference } from "../VersionedData";
export declare enum VersionedLayoutId {
}
export declare enum VersionedAlternateLayoutId {
}
export interface VersionedLayout {
readonly id: VersionedLayoutId;
title?: MultilingualString;
readonly versionedDataIdentifier: IVersionedDataIdentifier;
readonly publishedVersionReference: IVersionReference;
readonly parentLayoutId?: VersionedLayoutId;
readonly appInstanceId?: GuidValue;
readonly layoutTypeId: GuidValue;
urlSegment: string;
readonly businessProfileId?: GuidValue;
readonly alternateLayouts: VersionedAlternateLayout[];
readonly deletedAt?: string;
}
export interface VersionedAlternateLayout {
readonly id: VersionedAlternateLayoutId;
title: string;
readonly versionedDataIdentifier: IVersionedDataIdentifier;
readonly publishedVersionReference: IVersionReference;
readonly versionedLayoutId: VersionedLayoutId;
}
export interface AppScopedVersionedLayoutUrlValidationRequest {
appInstanceId: GuidValue;
ignoreFromLayoutId?: VersionedLayoutId;
urlSegment: string;
}
export interface DisplayBreakpointVersionedAlternateLayoutMapping {
[DisplayBreakpointCodes.ExtraSmall]?: VersionedAlternateLayoutId;
[DisplayBreakpointCodes.Small]?: VersionedAlternateLayoutId;
[DisplayBreakpointCodes.Medium]?: VersionedAlternateLayoutId;
}
export declare class VersionedLayoutDefinition implements DataToVersion {
constructor(layoutTypeId: GuidValue);
readonly layoutTypeId: GuidValue;
readonly omniaServiceId: GuidValue;
readonly dataTypeId: GuidValue;
title: MultilingualString;
layout: Layout;
}
export declare class VersionedAlternateLayoutDefinition extends VersionedLayoutDefinition {
constructor();
}
export interface VersionedLayoutDataWithParentLayout {
versionedData: IVersionedData<VersionedLayoutDefinition>;
parentVersionedData: IVersionedData<VersionedLayoutDefinition>;
mergedLayout: Layout;
}
export interface IVersionedLayoutProvider {
versionedLayout: string;
}
export declare const VersionedLayoutProvider: IVersionedLayoutProvider;
declare module "../Layout" {
interface ILayoutDependencyProvider extends IVersionedLayoutProvider {
}
}
declare module "../Layout" {
interface IBlockInstance<TSettings = void> {
versionedLayout?: {
id: VersionedLayoutId;
};
}
}