/// <reference types="mongoose/types/aggregate" />
/// <reference types="mongoose/types/callback" />
/// <reference types="mongoose/types/collection" />
/// <reference types="mongoose/types/connection" />
/// <reference types="mongoose/types/cursor" />
/// <reference types="mongoose/types/document" />
/// <reference types="mongoose/types/error" />
/// <reference types="mongoose/types/expressions" />
/// <reference types="mongoose/types/helpers" />
/// <reference types="mongoose/types/middlewares" />
/// <reference types="mongoose/types/indexes" />
/// <reference types="mongoose/types/models" />
/// <reference types="mongoose/types/mongooseoptions" />
/// <reference types="mongoose/types/pipelinestage" />
/// <reference types="mongoose/types/populate" />
/// <reference types="mongoose/types/query" />
/// <reference types="mongoose/types/schemaoptions" />
/// <reference types="mongoose/types/schematypes" />
/// <reference types="mongoose/types/session" />
/// <reference types="mongoose/types/types" />
/// <reference types="mongoose/types/utility" />
/// <reference types="mongoose/types/validation" />
/// <reference types="mongoose/types/virtuals" />
/// <reference types="mongoose/types/inferschematype" />
import type { Model, Schema } from 'mongoose';
export interface NestedAliasesMap {
    __selfAlias?: string;
    [userFieldName: string]: string | NestedAliasesMap | undefined;
}
export type AliasesMap = Record<string, string>;
export declare function prepareAliases(model: Model<any>): AliasesMap | false;
export declare function prepareAliasesReverse(schema: Schema<any>): AliasesMap | false;
export declare function replaceAliases(data: Record<string, any>, aliases?: NestedAliasesMap): Record<string, any>;
export declare function prepareNestedAliases(schema: Schema<any>, preparedAliases?: Map<Schema<any, Model<any, any, any, any, any, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, {
    [x: string]: any;
}, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<{
    [x: string]: any;
}>> & import("mongoose").FlatRecord<{
    [x: string]: any;
}> & Required<{
    _id: unknown;
}>>, NestedAliasesMap | undefined>): NestedAliasesMap | undefined;
//# sourceMappingURL=aliases.d.ts.map