import type { CollectionOverview, FieldOverview, Relation, SchemaOverview } from '@directus/types';
import { type RelationInfo } from '../get-relation-info.js';
/**
 * Allows to deep map the data like a response or delta changes with collection, field and relation context for each entry.
 * Bottom to Top depth first mapping of values.
 */
export declare function deepMapWithSchema(object: Record<string, any>, callback: (entry: [key: string | number, value: unknown], context: {
    collection: CollectionOverview;
    field: FieldOverview;
    relation: Relation | null;
    leaf: boolean;
    relationType: RelationInfo['relationType'] | null;
    object: Record<string, any>;
}) => [key: string | number, value: unknown] | undefined, context: {
    schema: SchemaOverview;
    collection: string;
    relationInfo?: RelationInfo;
}, options?: {
    /** If set to true, non-existent fields will be included in the mapping and will have a value of undefined */
    mapNonExistentFields?: boolean;
    /** If set to true, it will map the "create", "update" and "delete" syntax for o2m relations found in deltas */
    detailedUpdateSyntax?: boolean;
}): any;
