/// <reference types="mongoose/types/aggregate" />
/// <reference types="mongoose/types/callback" />
/// <reference types="mongoose/types/collection" />
/// <reference types="mongoose/types/connection" />
/// <reference types="mongoose/types/cursor" />
/// <reference types="mongoose/types/document" />
/// <reference types="mongoose/types/error" />
/// <reference types="mongoose/types/expressions" />
/// <reference types="mongoose/types/helpers" />
/// <reference types="mongoose/types/middlewares" />
/// <reference types="mongoose/types/indexes" />
/// <reference types="mongoose/types/models" />
/// <reference types="mongoose/types/mongooseoptions" />
/// <reference types="mongoose/types/pipelinestage" />
/// <reference types="mongoose/types/populate" />
/// <reference types="mongoose/types/query" />
/// <reference types="mongoose/types/schemaoptions" />
/// <reference types="mongoose/types/schematypes" />
/// <reference types="mongoose/types/session" />
/// <reference types="mongoose/types/types" />
/// <reference types="mongoose/types/utility" />
/// <reference types="mongoose/types/validation" />
/// <reference types="mongoose/types/virtuals" />
/// <reference types="mongoose/types/inferschematype" />
import type { FilterQuery } from 'mongoose';
/**
 * An input data contract for paginated list endpoints.
 */
export interface IListInput<T> {
    /**
     * (Optional) How many records to skip before returning results.
     */
    offset?: number;
    /**
     * (Optional) How many records to return per page.
     */
    limit?: number;
    /**
     * (Optional) MongoDB filter to apply to the query.
     */
    filters?: FilterQuery<T>;
    /**
     * (Optional) MongoDB projection to apply to the query.
     */
    projection?: Array<keyof T> | Record<keyof T, 0 | 1>;
}
