import { Dictionary } from '@adonisjs/lucid/types/querybuilder';
export declare const mapToObject: <K extends string | number | symbol, V>(map: Map<K, V>) => Dictionary<V>;
export declare const subpathsObject: <T>(paths: T[], field: string, getter: (o: T) => string, setter: (o: T, newPath: string) => T) => T[];
export declare const subpaths: (paths: string[], field: string) => string[];
export declare const firstOrderPaths: <T>(paths: T[], getter?: (v: T) => string) => string[];
export declare const firstOrderProperties: (o: any, removeNulls?: boolean) => Partial<any>;
export declare const lucidColumnJSONArrayConsume: any;
export declare const areSameDay: (date1: Date, date2: Date) => boolean;
export declare const sanitizeFilename: (input: string) => string;
export type ValueOrFunction<T> = T | (() => T);
export declare const isFunction: (func: any) => func is Function;
export type ConfigWithResolver = {
    [K: string]: {
        resolver: (...args: any[]) => any;
    } | any;
};
export type ResolverResult<Config extends ConfigWithResolver, K extends keyof Config> = Awaited<ReturnType<(Config[K] extends {
    resolver: any;
} ? Config[K] : never)['resolver']>>;
