import { FilterSpec } from "./FilterSpec";
import { SortSpec } from "./SortSpec";
import { Option } from "./Option";
import { PaginationSpec } from "./paginationspec/PaginationSpec";
import { QueryParam } from "./QueryParam";
export declare class Query {
    protected jsonApiType: string;
    protected queriedRelationName: string;
    protected idToFind: string | number;
    protected paginationSpec: PaginationSpec;
    protected include: string[];
    protected filters: FilterSpec[];
    protected options: Option[];
    protected sort: SortSpec[];
    constructor(jsonApiType: string, queriedRelationName?: string);
    protected addFilterParameters(searchParams: QueryParam[]): void;
    protected addIncludeParameters(searchParams: QueryParam[]): void;
    protected addOptionsParameters(searchParams: QueryParam[]): void;
    protected addPaginationParameters(searchParams: QueryParam[]): void;
    protected addSortParameters(searchParams: QueryParam[]): void;
    toString(): string;
    setIdToFind(idToFind: string | number): void;
    getPaginationSpec(): PaginationSpec;
    setPaginationSpec(paginationSpec: PaginationSpec): void;
    addInclude(includeSpec: string): void;
    addFilter(filter: FilterSpec): void;
    addSort(sort: SortSpec): void;
    addOption(option: Option): void;
}
