import { Model } from "@decaf-ts/decorator-validation";
import { CouchDBRepository } from "@decaf-ts/for-couchdb";
import { NanoAdapter } from "./adapter.d.cts";
import { Constructor } from "@decaf-ts/decoration";
import { ContextOf, FlagsOf } from "@decaf-ts/core";
/**
 * @description Type for Nano database repositories
 * @summary A specialized repository type for working with Nano databases, extending the base Repository
 * with Nano-specific adapter, flags, and context types
 * @template M - Type extending Model that this repository will manage
 * @typedef {Repository<M, MangoQuery, NanoAdapter, NanoFlags, Context<NanoFlags>>} NanoRepository
 * @memberOf module:for-nano
 */
export declare class NanoRepository<M extends Model> extends CouchDBRepository<M, NanoAdapter> {
    constructor(adapter: NanoAdapter, model: Constructor<M>, force?: boolean);
    override(flags: Partial<FlagsOf<ContextOf<NanoAdapter>>>): this;
}
