import { PaginationController } from './PaginationController'; import { PaginationNoPageController } from './PaginationNoPageController'; export declare abstract class LiveCollectionController, TPaginationController extends PaginationController | PaginationNoPageController> { protected paginationController: TPaginationController; protected queryStreamId: string; protected cacheKey: string[]; protected callback: Amity.LiveCollectionCallback; protected snapshot: TPublicPayload[] | undefined; constructor(paginationController: TPaginationController, queryStreamId: string, cacheKey: string[], callback: Amity.LiveCollectionCallback); private refresh; protected loadPage({ initial, direction, }: { initial?: boolean; direction?: Amity.LiveCollectionPageDirection; }): void; protected abstract setup(): void; loadNextPage(): Promise; loadPrevPage(): Promise; protected abstract persistModel(response: Amity.Payloads[TPayloadDomain] & Partial): Promise | void; protected abstract persistQueryStream({ response, direction, refresh, }: Amity.LiveCollectionPersistQueryStreamParams): void; abstract startSubscription(): Amity.Unsubscriber[]; abstract notifyChange(params: Amity.LiveCollectionNotifyParams): void; protected shouldNotify(data: TPublicPayload[]): boolean; getCacheKey(): string[]; } //# sourceMappingURL=LiveCollectionController.d.ts.map