import type { NodeSqliteRepositoryConfig, NodeSqliteRepositoryModel } from './types';
import type { RepositoryPort } from '../types';
export declare abstract class AbstractNodeSqliteRepository<I extends object, O extends object> implements RepositoryPort<NodeSqliteRepositoryModel, I, O> {
    private readonly adapter;
    constructor(config: NodeSqliteRepositoryConfig);
    get model(): NodeSqliteRepositoryModel;
    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=repository.d.ts.map