import { Content } from '../../../../models'; import { CsContentFilterCriteria, CsContentSortCriteria, CsFilterCriteria, CsSortCriteria } from '../../interface'; export interface CsContentSection { name: string; combination?: { [key in keyof Content]?: string; }; sections: CsContentGroup[]; } export interface CsContentGroup { count?: number; name?: string; contents?: Content[]; targetedContents?: Content[]; totalCount?: number; } export interface CsContentGroupSortCriteria extends CsSortCriteria { } export interface CsContentGroupFilterCriteria extends CsFilterCriteria { } export declare class CsContentsGroupGenerator { static generate(config: { prioritiseTargetedContents?: { categories: (keyof Content)[]; sourceFramework: Partial<{ [key in keyof Content]: string[] | string | undefined; }>; }; includeSearchable?: boolean; contents: Content[]; groupBy: keyof Content; sortBy?: CsContentSortCriteria | CsContentSortCriteria[]; filterBy?: CsContentFilterCriteria | CsContentFilterCriteria[]; groupSortBy?: CsContentGroupSortCriteria | CsContentGroupSortCriteria[]; groupFilterBy?: CsContentGroupFilterCriteria | CsContentGroupFilterCriteria[]; combination?: Partial<{ [key in keyof Content]?: string[]; }>; }): CsContentSection; private static filterContentsByAttribute; private static isMultiValueAttribute; private static sortItems; private static filterItems; }