import { Context } from "koa"; import { BaseListPageFields, ListPage } from "./list.js"; import { Collection, CollectionItem, ItemList, Context as SealiousContext } from "sealious"; import { FlatTemplatable, Templatable } from "tempstream"; export declare abstract class SealiousItemListPage extends ListPage, F> { collection: C; constructor(collection: C); getContextForList(ctx: Context): Promise; getTotalPages(ctx: Context, itemsPerPage: number): Promise; protected addFilter(ctx: Context, list: ItemList): Promise; makeQuery(ctx: Context): Promise>; getItems(ctx: Context, page: number, itemsPerPage: number | null): Promise[]>; getFilterValues(ctx: Context): Promise>; renderListContainer(_: Context, content: Templatable): FlatTemplatable; renderItem(_: Context, item: CollectionItem, _index: number): Promise; canAccess: (ctx: Context) => Promise<{ canAccess: boolean; message: string; }>; }