/* eslint-disable */
import { getLocale, experimentalStaticLocale } from '../runtime.js';

/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */

/** @typedef {{ n: NonNullable<unknown>, s: NonNullable<unknown> }} Books_CountInputs */

const en_books_count = /** @type {(inputs: Books_CountInputs) => LocalizedString} */ (i) => {
	return /** @type {LocalizedString} */ (`${i?.n} book${i?.s}`)
};

const ru_books_count = /** @type {(inputs: Books_CountInputs) => LocalizedString} */ (i) => {
	return /** @type {LocalizedString} */ (`${i?.n} книг${i?.s}`)
};

const id_books_count = /** @type {(inputs: Books_CountInputs) => LocalizedString} */ (i) => {
	return /** @type {LocalizedString} */ (`${i?.n} buku`)
};

const pt_books_count = /** @type {(inputs: Books_CountInputs) => LocalizedString} */ (i) => {
	return /** @type {LocalizedString} */ (`${i?.n} livro${i?.s}`)
};

const fr_books_count = /** @type {(inputs: Books_CountInputs) => LocalizedString} */ (i) => {
	return /** @type {LocalizedString} */ (`${i?.n} livre${i?.s}`)
};

/**
* | output |
* | --- |
* | "{n} book{s}" |
*
* @param {Books_CountInputs} inputs
* @param {{ locale?: "en" | "ru" | "id" | "pt" | "fr" }} options
* @returns {LocalizedString}
*/
export const books_count = /** @type {((inputs: Books_CountInputs, options?: { locale?: "en" | "ru" | "id" | "pt" | "fr" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Books_CountInputs, { locale?: "en" | "ru" | "id" | "pt" | "fr" }, {}>} */ ((inputs, options = {}) => {
	const locale = experimentalStaticLocale ?? options.locale ?? getLocale()
	if (locale === "en") return en_books_count(inputs)
	if (locale === "ru") return ru_books_count(inputs)
	if (locale === "id") return id_books_count(inputs)
	if (locale === "pt") return pt_books_count(inputs)
	return fr_books_count(inputs)
});