import type CultureInfo from "../../culture-info";
import { AggregationRequestResource } from "./aggregation-request-resource";
import { FieldFilterRequestResource } from "./field-filter-request-resource";
import { NestedRelationInfo } from "./nested-relation-info";
import { SearchGroupRequestResource } from "./search-group-request-resource";
import { SelectionPoolFilterResource } from "./selection-pool-filter-resource";
import { SortingRequestResource } from "./sorting-request-resource";
import { VisualSearchRequestResource } from "./visual-search-request-resource";
export interface ISearchRequest {
    view: string;
    configurationCategory?: string;
    searchDefaults?: string;
    componentId?: number;
    culture: CultureInfo;
    take: number;
}
export declare class SearchRequest implements ISearchRequest {
    query: string;
    logicalGroupingTemplate?: string;
    searchDefaults?: string;
    configurationCategory?: string;
    componentId?: number;
    culture: CultureInfo;
    sorting?: SortingRequestResource;
    skip?: number;
    take: number;
    fieldFilters: Array<FieldFilterRequestResource>;
    fullTextFilters: Array<string>;
    fields: Array<string>;
    savedSelection?: number;
    view: string;
    calendarStartDate?: Date | string;
    calendarStopDate?: Date | string;
    selectionPool?: SelectionPoolFilterResource;
    aggregations: Array<AggregationRequestResource>;
    nestedRelations?: Array<NestedRelationInfo>;
    group?: SearchGroupRequestResource;
    isInitialRequest?: boolean;
    takeUserSettings?: boolean;
    detailsEntityId?: number;
    l10n?: boolean;
    visualSearch?: VisualSearchRequestResource;
    constructor(init?: Partial<SearchRequest>);
}
