import type { Entity, FormattedItem } from '../../../entity/index.js';
import { EntityAction } from '../../../entity/index.js';
import { Formatter } from '../../../schema/actions/format/index.js';
import { $formatter } from './constants.js';
import type { FormatItemOptions, InferReadItemOptions } from './options.js';
export declare class EntityFormatter<ENTITY extends Entity = Entity> extends EntityAction<ENTITY> {
    static actionName: 'format';
    [$formatter]: Formatter<ENTITY['schema']>;
    constructor(entity: ENTITY);
    format<OPTIONS extends FormatItemOptions<ENTITY> = {}>(item: {
        [KEY: string]: unknown;
    }, options?: OPTIONS): FormattedItem<ENTITY, InferReadItemOptions<ENTITY, OPTIONS>>;
}
