import type { MongooseRepositoryConfig, MongooseRepositoryModel, ORMPort } from '../../repositories/types';
export declare class MongooseAdapter<D, I, O> implements ORMPort<MongooseRepositoryModel<D>, I, O> {
    private _model;
    private readonly config;
    constructor(config: MongooseRepositoryConfig<D>);
    get model(): MongooseRepositoryModel<D>;
    initialize(): Promise<void>;
    toLean(input: unknown): O | null;
    findById(id: string): Promise<O | null>;
    findMany(filter?: Record<string, unknown>): Promise<O[]>;
    create(entity: I): Promise<O>;
    update(id: string, update: Partial<I>): Promise<O | null>;
    delete(id: string): Promise<O | null>;
    exists(id: string): Promise<boolean>;
}
//# sourceMappingURL=adapter.d.ts.map