/**
 * @file Count-based pluralization. Two modes:
 *
 *   - Default: appends a trailing `'s'` when the count is anything other than 1.
 *     Zero-cost; no Intl dependency on the hot path.
 *   - Dictionary: when `options.forms` is given, selects from a caller-supplied
 *     dictionary of forms keyed by plural category. Honors locale + cardinal /
 *     ordinal via `Intl.PluralRules`. Required `plural` acts as the fallback
 *     for any category not explicitly listed.
 */
import type { PluralizeOptions } from './types';
export declare function getRules(locale: string, type: Intl.PluralRuleType): Intl.PluralRules;
/**
 * Pluralize a word based on count.
 *
 * @example
 *   ;```typescript
 *   pluralize('file') // 'file'
 *   pluralize('file', { count: 3 }) // 'files'
 *   pluralize('file', { count: 0 }) // 'files'
 *
 *   // Dictionary mode for irregulars.
 *   pluralize('child', {
 *   count: 3,
 *   forms: { singular: 'child', plural: 'children' },
 *   }) // 'children'
 *
 *   // Locale + cardinal/ordinal. `singular` here covers CLDR's `one`
 *   // category (the count===1 ordinal suffix); `two`/`few` map directly;
 *   // `plural` is the fallback for everything else.
 *   pluralize('place', {
 *   count: 2,
 *   type: 'ordinal',
 *   forms: { singular: 'st', two: 'nd', few: 'rd', plural: 'th' },
 *   }) // 'nd'
 *   ```
 */
export declare function pluralize(word: string, options?: PluralizeOptions | undefined): string;
