import { LimitCreator } from '../types';
export declare const limitCreator: LimitCreator;
/**
 * Creates a {@link QueryConstraint} that only returns the first matching documents.
 *
 * @param limit - The maximum number of items to return.
 * @returns The created {@link Query}.
 */
export declare const limit: <const Value extends number>(limit: Value extends 0 ? "Error: do not use negative, 0 or decimal value" : number extends Value ? Value : Value extends infer R ? `${R & number}` extends `-${number}` | `${number}.${number}` ? "Error: do not use negative, 0 or decimal value" : Value : never) => import("../types").LimitConstraint<"limit">;
/**
 * Creates a {@link QueryConstraint} that only returns the last matching documents.
 *
 * You must specify at least one `orderBy` clause for `limitToLast` queries,
 * otherwise an exception will be thrown during execution.(Prevented on type level)
 *
 * @param limit - The maximum number of items to return.
 * @returns The created {@link Query}.
 */
export declare const limitToLast: <const Value extends number>(limit: Value extends 0 ? "Error: do not use negative, 0 or decimal value" : number extends Value ? Value : Value extends infer R ? `${R & number}` extends `-${number}` | `${number}.${number}` ? "Error: do not use negative, 0 or decimal value" : Value : never) => import("../types").LimitConstraint<"limitToLast">;
