import { NsContent } from './widget-content.model'; export declare namespace NSSearch { interface IFeatureSearchConfig { tabs: IConfigContentStrip[]; } interface IFilterSearchRequest { contentType?: NsContent.EContentTypes[]; creatorContacts?: string[]; labels?: string[]; resourceCategory?: string[]; catalogPaths?: string[]; } interface ISearchRequest { filters?: IFilterSearchRequest; query?: string; isStandAlone?: boolean; instanceCatalog?: boolean; locale?: string[]; pageNo?: number; pageSize?: number; uuid?: string; rootOrg?: string; sort?: { [key: string]: string; }[]; } interface ISearchOrgRegionRecommendationRequest extends ISearchRequest { defaultLabel?: string; preLabelValue?: string; } interface ISearchV6Request { visibleFilters?: ISearchV6VisibleFilters; excludeSourceFields?: string[]; includeSourceFields?: string[]; sort?: ISearchSort[]; query: string; sourceFields?: string[]; locale?: string[]; pageNo?: number; pageSize?: number; filters?: ISearchV6Filters[]; isStandAlone?: boolean; didYouMean?: boolean; } interface ISearchSort { [key: string]: 'asc' | 'desc'; } interface ISearchV6VisibleFilters { [key: string]: { displayName: string; order?: { [key: string]: 'asc' | 'desc'; }[]; }; } interface ISearchV6Filters { andFilters?: { [key: string]: string[]; }[]; notFilters?: { [key: string]: string[]; }[]; } interface ISearchRedirection { f?: { [index: string]: string[]; }; q?: string; tab?: string; } interface IConfigContentStrip { titleKey?: string; title?: string; reqRoles?: string[]; reqFeatures?: string[]; searchRedirection?: ISearchRedirection; searchQuery?: ISearchRequest; contentIds?: string[]; } interface ISearchApiResult { totalHits: number; result: NsContent.IContent[]; filters: IFilterUnitResponse[]; notToBeShownFilters?: IFilterUnitResponse[]; filtersUsed: string[]; } interface ISearchV6ApiResult { totalHits: number; result: NsContent.IContent[]; filtersUsed: string[]; notVisibleFilters: string[]; filters: IFilterUnitResponse[]; queryUsed?: string; doYouMean?: string; } interface IFilterUnitResponse { id?: string; type: string; displayName: string; content: IFilterUnitContent[]; } interface IFilterUnitContent { type?: string; id?: string; displayName: string; count: number; children?: IFilterUnitContent[]; } interface ITypeUnitResponse { displayName: string; type: string; count: string; } }