import { ComputedRef } from 'vue'; import { SectionPopularityCategory, SectionExtra } from '../../../types/sectionPopularity'; import { CanvasRetrieve } from '../../../../types/openapi'; type SorterFunction = (item: CanvasRetrieve) => string | number | boolean; type OrderDirection = 'asc' | 'desc'; declare function calculateTrendline(data: number[]): number; declare function getPopularityCategory(value: number): SectionPopularityCategory.NONE | SectionPopularityCategory.POPULAR; export default function useSectionPopularity(filters?: ComputedRef>): { calculateTrendline: typeof calculateTrendline; engagingSections: ComputedRef<{ id: string; popularity: import('../../../types/sectionPopularity').SectionPopularity; engagement: import('../../../types/sectionPopularity').SectionEngagement; views: number; }[]>; getOrderingConfiguration: ({ sortByMetadata, sequencingKey, }?: { sortByMetadata?: boolean; sequencingKey?: string; }) => [SorterFunction, OrderDirection][]; getPopularityCategory: typeof getPopularityCategory; getSystemFilterSectionIds: () => string[] | null; isEngagingFilterActive: ComputedRef; isLatestFilterActive: ComputedRef; isPopularFilterActive: ComputedRef; isRecommendedFilterActive: ComputedRef; popularityDict: import('vue').Ref, Record>; popularSections: ComputedRef<{ id: string; popularity: import('../../../types/sectionPopularity').SectionPopularity; engagement: import('../../../types/sectionPopularity').SectionEngagement; views: number; }[]>; getDefaultOrdering: () => string; }; export {};