import { BusinessProfileProperty, AppRoutePropertyBagModel, VersionedLayoutDefinition, MediaPickerImage, SpacingSettings, MultilingualString, IIcon, GuidValue, ThemeDefinition, ActionHandler } from "@omnia/fx-models"; import { Enums } from "./Enums"; import { TargetingFilterProperty } from "@omnia/fx-sp"; import { ActionHandlerInstance } from "@omnia/fx/ux"; export declare const WorkspaceVerticalNavWidth = 256; export declare class WorkspaceInfo extends BusinessProfileProperty { appInstanceId: string; classicNavigationBar: boolean; constructor(); } export interface WorkspaceMegaMenuSettingsByDevice { showIcon: boolean; maxWidth: number; maxHeight: number; useCustomLayoutTheme: boolean; useCustomBlockTheme: boolean; layoutThemeDefinition: ThemeDefinition; blockThemeDefinition: ThemeDefinition; } export declare class WorkspaceMegaMenuSettings extends AppRoutePropertyBagModel { constructor(); default: WorkspaceMegaMenuSettingsByDevice; msTeams: WorkspaceMegaMenuSettingsByDevice; } export declare class WorkspaceHomeMapping extends AppRoutePropertyBagModel { constructor(); appInstanceLayoutId: number; } export declare enum WorkspaceMegaMenuItemTypes { Link = 0, Layout = 1 } export interface WorkspaceMegaMenuItem { id: GuidValue; type: WorkspaceMegaMenuItemTypes; } export interface WorkspaceMegaMenuLink extends WorkspaceMegaMenuItem { type: WorkspaceMegaMenuItemTypes.Link; title: MultilingualString; icon: IIcon; url: string; openInNewTab: boolean; targeting: TargetingFilterProperty; urls: string[]; } export interface WorkspaceMegaMenuLayout extends WorkspaceMegaMenuItem { type: WorkspaceMegaMenuItemTypes.Layout; appInstanceLayoutId: number; } export declare class WorkspaceMegaMenuMapping extends AppRoutePropertyBagModel { constructor(); items: WorkspaceMegaMenuItem[]; } export interface MegaMenuLayoutCustomSizeByDevice { maxHeight: number; maxWidth: number; } export interface MegaMenuLayoutCustomSize { default: MegaMenuLayoutCustomSizeByDevice; msTeams: MegaMenuLayoutCustomSizeByDevice; } export interface MegaMenuLayoutSettings { icon: IIcon; targeting: TargetingFilterProperty; urls: string[]; inheritSize: boolean; customSize?: MegaMenuLayoutCustomSize; } export declare class HomeLayoutDefinition extends VersionedLayoutDefinition { constructor(); } export declare class MegaMenuLayoutDefinition extends VersionedLayoutDefinition { constructor(); settings: MegaMenuLayoutSettings; } export declare class WorkspaceActionMenuMapping extends AppRoutePropertyBagModel { constructor(); itemIds: GuidValue[]; } export interface IWorkspaceActionMenuHandlerInstance extends ActionHandlerInstance { icon?: IIcon; ariaRole?: string; } export interface WorkspaceActionMenuItem extends ActionHandler { icon: IIcon; ariaRole: string; targeting: TargetingFilterProperty; } export interface WorkspaceActionMenuSettingsByDevice { itemLimit: number; showIcon: boolean; } export declare class WorkspaceActionMenuSettings extends AppRoutePropertyBagModel { constructor(); default: WorkspaceActionMenuSettingsByDevice; msTeams: WorkspaceActionMenuSettingsByDevice; } export interface WorkspaceGenericSettingsByDevice { showHeader: boolean; navigationBarPosition: Enums.NavigationBarPosition; navigationBarBgColor: string; navigationBarColor: string; } export interface WorkspaceGenericSettings { chromeModeMapping: { [deviceBreakPointId: string]: Enums.ChromeMode; }; default: WorkspaceGenericSettingsByDevice; msTeams: WorkspaceGenericSettingsByDevice; } export declare const WorkspaceFactory: { genericSettings(): WorkspaceGenericSettings; }; export interface HomeLogo { image: MediaPickerImage; spacing: SpacingSettings; imageText: MultilingualString; } export interface WorkspaceHomeSettingsByDevice { showTitle: boolean; showLogo: boolean; showIcon: boolean; } export declare class WorkspaceHomeSettings extends AppRoutePropertyBagModel { constructor(); logo: HomeLogo; icon: IIcon; title: MultilingualString; default: WorkspaceHomeSettingsByDevice; msTeams: WorkspaceHomeSettingsByDevice; }