import type { Nullable } from "../../base-types";
import { EntityResource } from "../entity-resource";
import Resource from "../resource";
import { IEntityResourceContainer } from "../resource-containers/entity-resource-container";
import { AggregationResponseResource } from "./aggregation-response-resource";
import { FacetResponseResource } from "./facet-response-resource";
import { FieldFilterResponseResource } from "./field-filter-response-resource";
import { FullTextResponseResource } from "./full-text-response-resource";
import { GroupedViewResponseResource } from "./grouped-view-response-resource";
import { SortingResponseResource } from "./sorting-response-resource";
import { VisualSearchResponseResource } from "./visual-search-response-resource";
interface ISearchResponse extends IEntityResourceContainer {
    getFieldFiltersResources: () => Array<FieldFilterResponseResource>;
    getFullTextFilterResources: () => Array<FullTextResponseResource>;
    getFacetResources: () => Array<FacetResponseResource>;
}
export declare class SearchResponse extends Resource implements ISearchResponse {
    query: string;
    skip: number;
    take: number;
    totalItemCount: number;
    returnedItemCount: number;
    sorting: SortingResponseResource;
    sortingOptions: Array<SortingResponseResource>;
    fieldFilters: Array<FieldFilterResponseResource>;
    fullTextFilters: Array<FullTextResponseResource>;
    facets: Array<FacetResponseResource>;
    clearFilters: string;
    items: Array<EntityResource>;
    superFacet?: number;
    aggregations?: Nullable<AggregationResponseResource>;
    groupedView?: Nullable<GroupedViewResponseResource>;
    visualSearch?: VisualSearchResponseResource;
    getEntityResources(): Array<EntityResource>;
    getFieldFiltersResources(): Array<FieldFilterResponseResource>;
    getFullTextFilterResources(): Array<FullTextResponseResource>;
    getFacetResources(): Array<FacetResponseResource>;
}
export {};
