import { VegaPaginationPageSizeOption } from '../types';
export interface NormalizedPageSizeOption {
  value: number;
  label: string;
}
/**
 * Normalizes a page-size option (number or object) into a `NormalizedPageSizeOption` with `value` and `label`.
 *
 * @param {VegaPaginationPageSizeOption} option - A page-size option, either a plain number or an object with `value` and `label`.
 * @returns {NormalizedPageSizeOption} A normalized option object.
 */
export declare function normalizePageSizeOption(option: VegaPaginationPageSizeOption): NormalizedPageSizeOption;
/**
 * Sorts page-size options in ascending order, pinning the "All" option (value `-1`) last.
 *
 * @param {NormalizedPageSizeOption[]} options - An array of normalized page-size options.
 * @returns {NormalizedPageSizeOption[]} A new sorted array.
 */
export declare function sortPageSizeOptions(options: NormalizedPageSizeOption[]): NormalizedPageSizeOption[];
/**
 * Resolves the sentinel value `-1` ("All") to `total`; returns other values unchanged.
 *
 * @param {number} value - The page size value, potentially the sentinel `-1`.
 * @param {number} total - The total number of items.
 * @returns {number} The resolved page size number.
 */
export declare function resolvePageSizeValue(value: number, total: number): number;
/**
 * Returns `true` if the options array contains an "All" entry (`{ value: -1 }`).
 *
 * @param {VegaPaginationPageSizeOption[]} options - An array of page-size options.
 * @returns {boolean} `true` when an "All" option is present.
 */
export declare function hasAllOption(options: VegaPaginationPageSizeOption[]): boolean;
/**
 * Returns `true` if any option in the array has a `value` equal to `pageSize`.
 *
 * @param {VegaPaginationPageSizeOption[]} options - An array of page-size options.
 * @param {number} pageSize - The page size to look for.
 * @returns {boolean} `true` when the page size is found.
 */
export declare function includesPageSize(options: VegaPaginationPageSizeOption[], pageSize: number): boolean;
