/** @packageDocumentation
 * @module Content
 */
import { UnitSystemKey } from "@itwin/core-quantity";
import { KoqPropertyValueFormatter } from "../KoqPropertyValueFormatter.js";
import { Content } from "./Content.js";
import { Descriptor } from "./Descriptor.js";
import { Field } from "./Fields.js";
import { Item } from "./Item.js";
import { DisplayValue, Value } from "./Value.js";
/** @internal */
export declare class ContentFormatter {
    private _propertyValueFormatter;
    private _unitSystem?;
    constructor(_propertyValueFormatter: {
        formatPropertyValue: (field: Field, value: Value, unitSystem?: UnitSystemKey) => Promise<DisplayValue>;
    }, _unitSystem?: UnitSystemKey | undefined);
    formatContent(content: Content): Promise<Content>;
    formatContentItems(items: Item[], descriptor: Descriptor): Promise<Item[]>;
    private formatValues;
    private formatNestedContentDisplayValues;
    private formatPropertyValue;
    private formatArrayItems;
    private formatStructMembers;
}
/** @internal */
export declare class ContentPropertyValueFormatter {
    private _koqValueFormatter;
    constructor(_koqValueFormatter: KoqPropertyValueFormatter);
    formatPropertyValue(field: Field, value: Value, unitSystem?: UnitSystemKey): Promise<DisplayValue>;
    private formatValue;
    private formatPrimitiveValue;
    private formatStructValue;
    private formatArrayValue;
}
//# sourceMappingURL=PropertyValueFormatter.d.ts.map