import * as reselect from 'reselect'; import * as types from "../../types"; export declare const COMBINED_USER_ACTIVITY = "user-activity-"; export declare const DATE_LINE = "date-"; export declare const START_OF_NEW_MESSAGES = "start-of-new-messages"; export declare const MAX_COMBINED_SYSTEM_POSTS = 100; interface PostFilterOptions { postIds: string[]; lastViewedAt: number; indicateNewMessages: boolean; } export declare function makePreparePostIdsForPostList(): (state: types.store.GlobalState, options: PostFilterOptions) => string[]; export declare function makeFilterPostsAndAddSeparators(): reselect.OutputParametricSelector string[]>; export declare function makeCombineUserActivityPosts(): reselect.OutputParametricSelector) => string[]>; export declare function isStartOfNewMessages(item: string): boolean; export declare function isDateLine(item: string): boolean; export declare function getDateForDateLine(item: string): number; export declare function isCombinedUserActivityPost(item: string): boolean; export declare function getPostIdsForCombinedUserActivityPost(item: string): string[]; export declare function getFirstPostId(items: string[]): string; export declare function getLastPostId(items: string[]): string; export declare function getLastPostIndex(postIds: string[]): number; export declare function makeGenerateCombinedPost(): reselect.OutputParametricSelector { id: string; root_id: string; channel_id: string; create_at: number; delete_at: number; message: string; props: { messages: string[]; user_activity: { allUserIds: string[]; allUsernames: string[]; messageData: any[]; } | null; }; state: string; system_post_ids: string[]; type: string; user_activity_posts: types.posts.Post[]; user_id: string; metadata: {}; }>; export declare const postTypePriority: { [x: string]: number; }; export declare function comparePostTypes(a: typeof postTypePriority, b: typeof postTypePriority): number; export declare function combineUserActivitySystemPost(systemPosts?: Array): { allUserIds: string[]; allUsernames: string[]; messageData: any[]; } | null; export {};