import { GuidValue, IconPickerModel, MultilingualString, BlockTitleSettings, SpacingSettings } from "@omnia/fx-models"; import { TargetingFilterProperty } from "@omnia/fx-sp-models"; import { SearchResultItem } from "./Search"; export interface MyLinkIcon extends IconPickerModel { backgroundColor?: string; color?: string; } export interface QuickLink { id: string; title: MultilingualString; url?: string; category?: string; information?: MultilingualString; isOpenNewWindow?: boolean; icon?: MyLinkIcon; mandatory?: boolean; createdBy?: string; updatedBy?: string; createdAt?: Date; modifiedAt?: Date; deletedAt?: Date; isOwner?: boolean; businessProfileId?: GuidValue; targetingFilter?: TargetingFilterProperty; isTargeted?: boolean; fixedUrl: string; multilingualTitleDisplay: string; multilingualInformationDisplay: string; } export interface SharedLinkSearchResultItem extends QuickLink, Omit { } export interface CategoryLink { title: string; links: Array; } export declare enum LinkViewMode { View = 0, Add = 1, Edit = 2 } export declare enum SortedByType { Custom = 0, Alphabetic = 1, LastVisited = 2 } export interface QuickLinksBlockSettings { title?: MultilingualString; backgroundColor?: string; iconColor?: string; textColor?: string; borderColor?: string; itemLimit?: number; view?: string; categories?: string[]; sortedBy?: SortedByType; spacing?: SpacingSettings; linksOrder?: Array; useTargeting?: boolean; includeNonMandatoryLink?: boolean; includeMandatoryLink?: boolean; includePersonalLinks?: boolean; includeFollowingLinks?: boolean; showManageLinks?: boolean; truncateText: boolean; noResultText?: MultilingualString; } export interface AppLaunchSettings extends QuickLinksBlockSettings { appLaunchSettings: { enable?: boolean; backgroundColor?: string; iconColor?: string; hoverColor?: string; }; titleSettings?: BlockTitleSettings; } export declare enum ChangeTypes { Remove = 1, AddOrUpdate = 2, All = 3 } export interface LinkChanges { myLinks?: ChangeTypes; allLinks?: ChangeTypes; recentLinks?: ChangeTypes; }