import { EntityMeta, FieldKey, QuerySelect, CascadeType, RelationKey, FieldOptions, QueryRaw, QuerySort, QuerySortMap, QueryWhere, QueryWhereMap, OnFieldCallback } from '../type/index.js';
export type CallbackKey = keyof Pick<FieldOptions, 'onInsert' | 'onUpdate' | 'onDelete'>;
export declare function filterFieldKeys<E>(meta: EntityMeta<E>, payload: E, callbackKey: CallbackKey): FieldKey<E>[];
export declare function getFieldCallbackValue(val: OnFieldCallback): import("../type/utility.js").Scalar | QueryRaw;
export declare function fillOnFields<E>(meta: EntityMeta<E>, payload: E | E[], callbackKey: CallbackKey): E[];
export declare function filterPersistableRelationKeys<E>(meta: EntityMeta<E>, payload: E, action: CascadeType): RelationKey<E>[];
export declare function isCascadable(action: CascadeType, configuration?: boolean | CascadeType): boolean;
export declare function filterRelationKeys<E>(meta: EntityMeta<E>, select: QuerySelect<E>): RelationKey<E>[];
export declare function isSelectingRelations<E>(meta: EntityMeta<E>, select: QuerySelect<E>): boolean;
export declare function buildSortMap<E>(sort: QuerySort<E>): QuerySortMap<E>;
export declare function augmentWhere<E>(meta: EntityMeta<E>, target?: QueryWhere<E>, source?: QueryWhere<E>): QueryWhere<E>;
export declare function buldQueryWhereAsMap<E>(meta: EntityMeta<E>, filter?: QueryWhere<E>): QueryWhereMap<E>;
