import { tags } from "typia"; /** * A page. * * Collection of records with pagination indformation. * * @author Samchon * @template T Record type */ export interface IPage { /** Page information. */ pagination: IPage.IPagination; /** List of records. */ data: T[]; } export declare namespace IPage { /** Page information. */ interface IPagination { /** Current page number. */ current: number & tags.Type<"uint32">; /** * Limitation of records per a page. * * @default 100 */ limit: number & tags.Type<"uint32">; /** Total records in the database. */ records: number & tags.Type<"uint32">; /** * Total pages. * * Equal to {@link records} / {@link limit} with ceiling. */ pages: number & tags.Type<"uint32">; } /** Page request data */ interface IRequest { /** Page number. */ page?: null | (number & tags.Type<"uint32">); /** * Limitation of records per a page. * * @default 100 */ limit?: null | (number & tags.Type<"uint32">); } /** * Sorting column specialization. * * The plus means ascending order and the minus means descending order. */ type Sort = Array<`-${Literal}` | `+${Literal}`>; }