import { QueryEntity } from '@datorama/akita'; import { Observable } from 'rxjs'; import { AuthQuery } from '../auth'; import { Message, MessageQuery } from '../message'; import { RequestQuery } from '../request'; import { UserQuery } from '../user'; import { GroupState, GroupStore } from './group.store'; export declare class GroupQuery extends QueryEntity { protected store: GroupStore; private authQuery; private messageQuery; private userQuery; private requestQuery; groups$: Observable<{ lastMessage: Message; hasUnread: boolean; requests: import("../request").Request[]; id: string; title: string; description?: string | undefined; users: import("../user").User[]; category: string; createdBy: import("../user").User; banner?: string | undefined; anyoneCanAcceptRequest: boolean; anyoneCanModifyGroup: boolean; approveNewUsers: boolean; token?: string | undefined; createdAt: Date; updatedAt: Date; usersMap?: { [key: string]: import("../user").User; } | undefined; hasUnread$?: Observable | undefined; lastMessage$: Observable>; messages$?: Observable[]> | undefined; lastMessageReceivedAt?: Date | undefined; }[]>; active$: Observable<{ requests: import("../request").Request[]; id: string; title: string; description?: string | undefined; users: import("../user").User[]; category: string; createdBy: import("../user").User; banner?: string | undefined; anyoneCanAcceptRequest: boolean; anyoneCanModifyGroup: boolean; approveNewUsers: boolean; token?: string | undefined; createdAt: Date; updatedAt: Date; usersMap?: { [key: string]: import("../user").User; } | undefined; hasUnread$?: Observable | undefined; hasUnread?: boolean | undefined; lastMessage$: Observable>; lastMessage?: Message | undefined; messages$?: Observable[]> | undefined; lastMessageReceivedAt?: Date | undefined; }>; count$: Observable; private _combinedData$; hasUnreadGroup$: Observable; unreadGroups$: Observable<{ group: import("./group.model").Group; messages: Message[]; }[]>; activeGroupMessages$: Observable; constructor(store: GroupStore, authQuery: AuthQuery, messageQuery: MessageQuery, userQuery: UserQuery, requestQuery: RequestQuery); selectGroupMessages(id: string): Observable[]>; getLastMessage(id: string): Observable | Observable>; selectGroupRequests(id: string): Observable; }