import type { TranslationArg } from '../types';
/**
* Sustituye los marcadores `{{nombre}}` de un texto ya traducido.
*
* Por qué vive aquí y no en el motor. `TranslationEngine` es un contrato PÚBLICO que
* implementan motores de terceros: ampliar su `translate` obligaría a cambiar cada implementación
* existente. La interpolación es, además, independiente del catálogo — opera sobre el resultado—,
* así que su sitio es la capa del provider, donde se aplica por igual a cualquier motor.
*
* Un marcador sin valor se deja INTACTO. Borrarlo produce una frase que se lee bien y
* miente («0 línea(s)» cuando no se sabe cuántas hay); dejarlo visible se reconoce al instante como
* lo que es. El mismo criterio que sigue `translate` al devolver la llave cuando no la encuentra.
*
* @example
* interpolate('{{count}} línea(s) · saldo {{balance}}', { count: 3, balance: '265,00' })
* // '3 línea(s) · saldo 265,00'
*/
export declare function interpolate(text: string, arg?: TranslationArg): string;
/**
* Resuelve el segundo argumento de `t`: interpola si es un objeto, y aplica el respaldo si es una
* cadena y la llave no estaba en el catálogo.
*
* El motor devuelve la PROPIA LLAVE cuando no la encuentra; ésa es la señal por la que se
* decide aplicar el respaldo, y es la misma que el kit ya usaba antes de que `t` tuviera segundo
* argumento.
*/
export declare function resolveTranslation(key: string, translated: string, arg?: TranslationArg): string;
//# sourceMappingURL=interpolate.d.ts.map