import { PropertyMapping, Enums } from "."; import { TargetingFilterProperty } from "@omnia/fx-sp-models"; import { MultilingualString, GuidValue, FilterComponent } from "@omnia/fx-models"; export interface SearchCategoryBase { id: GuidValue; providerId: GuidValue; title: MultilingualString; enableWildcardSearch: boolean; itemTemplateIds: Array; targetingFilter?: TargetingFilterProperty; businessProfileId: GuidValue; providerComponentId: GuidValue; query?: string; providerSettings?: ProviderSettings; } export interface SharePointSearchCategory extends SearchCategoryBase { resultSource: string; enableQueryRules: boolean; sortBy?: string; sortDirection?: Enums.SortDirection; listTemplatePropertiesMapping?: { [templateId: string]: DictionaryPropertiesMapping; }; } export interface MicrosoftSearchCategory extends SearchCategoryBase { resultSource: string; contentSources?: Array; sortBy?: string; sortDirection?: Enums.SortDirection; listTemplatePropertiesMapping?: { [templateId: string]: DictionaryPropertiesMapping; }; } export interface SharedLinkSearchCategory extends SearchCategoryBase { sortBy: string; } export interface ProviderSettings { showLinkBelowTitle?: boolean; navigateWithoutVariation?: boolean; } export interface SemanticSearchCategory extends SearchCategoryBase { providerSettings: SemanticSearchSettings; } export interface SemanticSearchSettings extends ProviderSettings { propertiesFilter?: FilterComponent[]; includeSemanticSummaryEnabled: boolean; showReferencesEnabled: boolean; includeParagraphsEnabled: boolean; customNoResultMessageEnabled?: boolean; customNoResultMessage?: MultilingualString; fallbackCategoryId?: GuidValue; fallbackMaxWordCount?: number; } export interface DictionaryPropertiesMapping { [customProperty: string]: ContentPropertyMapping; } export interface ContentPropertyMapping extends PropertyMapping { isContentPropertyMapped?: boolean; } export declare enum SharedLinkSortByTypes { AlphabeticByTitle = 1, LastVisited = 2 }