import CultureInfo from "../../culture-info"; import { ICultureSensitiveDirtyTracking } from "../dirty-tracking/dirty-tracking"; import { PropertyDataType, PropertyValue, PropertyValuePerCulture, TypeInfo } from "./data-type"; import { IProperty, PropertyBase } from "./property"; export interface ICultureSensitiveProperty extends IProperty, ICultureSensitiveDirtyTracking { /** * Gets the value for a specific culture. * @param culture - The culture for which to get the value * @returns The value or null. */ getValue(culture: CultureInfo): PropertyValue; /** * Gets all values for the specified cultures * @param cultures - The cultures to get the values for * @returns The values per culture. A value can be null for a certain culture. */ getValues(cultures?: Array): PropertyValuePerCulture; /** * Gets all cultures that the property supports. * These are always equal to the cultures the {@link IEntity} was loaded with. * @returns List of cultures. */ getCultures(): Array; /** * Sets a value for a specific culture. * @param culture - The culture for which to set the value * @param value - The value */ setValue(culture: CultureInfo, value: PropertyValue): void; } export declare class CultureSensitiveProperty extends PropertyBase implements ICultureSensitiveProperty { private readonly _loadedCultures; private readonly _values; private _dirtyValueCalculators; readonly isMultiLanguage: true; get isDirty(): boolean; constructor(name: string, typeInfo: TypeInfo, loadedCultures: Array, values?: PropertyValuePerCulture, hasDataSource?: boolean); getTypeName(): string; getValue(culture: CultureInfo): PropertyValue; getValues(cultures?: Array): PropertyValuePerCulture; getCultures(): Array; setValue(culture: CultureInfo, value: PropertyValue): void; startTracking(): void; markClean(): void; getDirtyCultures(): Array; private cultureMustBeLoaded; private culturesMustBeLoaded; }