import { type AnyValue, type Model, type OpenApiSchema } from '../../Contracts';
import { Filter } from '../../Filters';
import type AvonRequest from '../../Http/Requests/AvonRequest';
import type { Repository } from '../../Repositories';
import type Relation from '../Relation';
declare const BelongsToFilter_base: (abstract new (...args: import("../../Contracts").Args) => {
    field: import("..").Field;
    apply(request: AvonRequest, queryBuilder: Repository<Model>, value: AnyValue): Promise<void>;
    filterableAttribute(request: AvonRequest): string;
    isValidNullValue(value: AnyValue): boolean;
    isNullable(): boolean;
    applyNullFilter(request: AvonRequest, queryBuilder: Repository<Model>): Repository<Model>;
    parseValue(value: AnyValue): any;
    key(): string;
    helpText?: string;
    help(helpText: string): any;
    serializeParameters(request: AvonRequest): import("openapi-types").OpenAPIV3.ParameterObject[];
    schema(request: AvonRequest): OpenApiSchema;
    canSee(callback: import("../../Contracts").SeeCallback): any;
    seeCallback: import("../../Contracts").SeeCallback;
    authorizedToSee(request: AvonRequest): boolean;
    nullable(nullable?: boolean, validator?: import("../../Contracts").NullableCallback | undefined): any;
    acceptsNullValues: boolean;
    nullValidator: import("../../Contracts").NullableCallback;
    nullValues(nullValidator: import("../../Contracts").NullableCallback): any;
    valueIsConsideredNull(value: AnyValue): boolean;
}) & typeof Filter;
export default class BelongsToFilter extends BelongsToFilter_base {
    field: Relation;
    /**
     * The help text for the filter.
     */
    helpText?: string;
    constructor(field: Relation);
    /**
     * Apply the filter into the given repository.
     */
    apply(request: AvonRequest, queryBuilder: Repository<Model>, value: AnyValue): Promise<AnyValue>;
    filterableAttribute(request: AvonRequest): string;
    parseValue(value: AnyValue): unknown[];
    /**
     * Get the swagger-ui schema.
     */
    schema(request: AvonRequest): OpenApiSchema;
    isValidNullValue(value: AnyValue): boolean;
}
export {};
