import { type ObjectMapper } from '../api/object-mapper.js';
import { type ClassConstructor } from '../../../business/utils/class-constructor.type.js';
import { type KeyFormatter } from '../../key/key-formatter.js';
import { type Primitive } from '../../../business/utils/primitive.js';
import { type PrimitiveArray } from '../../../business/utils/primitive-array.js';
export declare class ClassToObjectMapper implements ObjectMapper {
    private readonly formatter;
    private readonly flatMapper;
    constructor(formatter: KeyFormatter);
    fromArray<T>(cls: ClassConstructor<T>, array: object[]): T[];
    fromObject<T>(cls: ClassConstructor<T>, object: object): T;
    toArray<T>(data: T[]): object[];
    toObject<T>(data: T): object;
    toFlatKeyMap(data: object): Map<string, string>;
    applyPropertyValue(object: object, key: string, value: Primitive | PrimitiveArray | object | object[]): void;
}
