import { BaseModel } from '@adonisjs/lucid/orm';
import { ModelQueryBuilderContract } from '@adonisjs/lucid/types/model';
export declare class QueryHandler<T extends typeof BaseModel> {
    model: T;
    qs: Record<string, string>;
    constructor(model: T, qs: Record<string, string>);
    handle(query: ModelQueryBuilderContract<T>): ModelQueryBuilderContract<T, InstanceType<T>>;
    handleSearch(query: ModelQueryBuilderContract<T>): void;
    handleMagicQuery(query: ModelQueryBuilderContract<T>, options: {
        operator: string;
        field: string;
        value: string;
    }): void;
    handleIncludes(query: ModelQueryBuilderContract<T>): void;
    hasInclude(includes: string[]): void;
}
