@memory-bank/mcp
Version:
Memory-enabled Co-Pilot (MCP) server for managing project documentation and context
65 lines • 2 kB
TypeScript
/**
* Translation Domain Model
*
* Represents a localized text for a specific language with variable substitution capabilities.
* Implements value object pattern - immutable and equality based on value.
*/
import { Language } from './Language.js';
/**
* Translation key type - identifies a specific translatable string
*/
export type TranslationKey = string;
/**
* Translation class represents a localized text in a specific language
*/
export declare class Translation {
private readonly _language;
private readonly _key;
private readonly _text;
/**
* Constructor with validation
*
* @param language Language instance
* @param key Translation key
* @param text Translated text
* @throws Error if key or text is empty
*/
constructor(language: Language, key: TranslationKey, text: string);
/**
* Gets the language
*/
get language(): Language;
/**
* Gets the translation key
*/
get key(): TranslationKey;
/**
* Gets the translated text
*/
get text(): string;
/**
* Creates a Translation instance, validating inputs
*
* @param language Language instance
* @param key Translation key
* @param text Translated text
* @returns Translation instance
* @throws Error if key or text is empty
*/
static create(language: Language, key: TranslationKey, text: string): Translation;
/**
* Creates a new Translation with variables replaced in the text
*
* @param variables Object with variable names and their values
* @returns New Translation instance with replaced variables
*/
withReplacedVariables(variables: Record<string, string>): Translation;
/**
* Compare equality with another Translation object
*
* @param other Another Translation object to compare
* @returns true if equal, false otherwise
*/
equals(other: Translation): boolean;
}
//# sourceMappingURL=Translation.d.ts.map