declare type SortingFunc> = (a: T, b: T) => number; /** * Alphabetic sorting of objects having a displayName */ export declare const sortByDisplayName: SortingFunc<{ displayName?: string; }>; /** * Alphabetic sorting of objects having a name */ export declare const sortByName: SortingFunc<{ name?: string; }>; /** * Sorting a collection by their apparition order (oldest first) */ export declare const sortByChannelSegment: SortingFunc<{ channelSegment: number; }>; /** * Sorting a collection by their apparition order (oldest first) */ export declare const sortBySegmentNumber: SortingFunc<{ segmentNumber: number; }>; /** * Sorting a collection by its oldest items */ export declare const sortByFirstCreated: SortingFunc<{ createdAt: Date | number | string; }>; /** * Sorting a story-collection by its localSortingDate */ export declare const sortByLocalSortingDate: SortingFunc<{ localSortingDate: Date | number | string; }>; /** * Sorting a collection by its newest items */ export declare const sortByLastCreated: SortingFunc<{ createdAt: Date | number | string; }>; /** * Sorting a collection by its oldest items * -- Due to Amity.UpdatedAt is an optional type, we need to define a default value to 0 to prevent error */ export declare const sortByFirstUpdated: SortingFunc<{ updatedAt?: Date | number | string; }>; /** * Sorting a collection by its newest items * -- Due to Amity.UpdatedAt is an optional type, we need to define a default value to 0 to prevent error */ export declare const sortByLastUpdated: SortingFunc<{ updatedAt?: Date | number | string; }>; /** * Sorting a collection by the items with most recent activity */ export declare const sortByLastActivity: SortingFunc<{ lastActivity: Date | number | string; }>; /** * Filter items by untilAt timestamp based on sort direction * - For 'lastCreated' (newest first): untilAt acts as lower bound, excludes items older than boundary * - For 'firstCreated' (oldest first): untilAt acts as upper bound, excludes items newer than boundary * - Comparison is exclusive: posts with createdAt === untilAt are excluded */ export declare const filterByUntilAt: (items: T[], untilAt: Date | number | string, sortBy: 'lastCreated' | 'firstCreated') => T[]; /** * Validates untilAt parameter and returns undefined if invalid * @param untilAt - The untilAt value to validate * @returns The validated untilAt value or undefined if invalid */ export declare const validateUntilAt: (untilAt: string) => string | undefined; /** * Checks if a post should be excluded based on untilAt boundary * @param createdAt - The post's createdAt timestamp * @param untilAt - The untilAt boundary * @param sortBy - The sort direction * @returns true if the post exceeds the boundary (should be excluded) */ export declare const exceedsUntilAtBoundary: (createdAt: Date | number | string, untilAt: Date | number | string, sortBy: 'lastCreated' | 'firstCreated') => boolean; export {}; //# sourceMappingURL=sorting.d.ts.map