import { Facet, Filter, HistoryQuery, NextQuery, PartialResult, Redirection, RelatedTag, Result, SemanticQuery, Suggestion } from '@empathyco/x-types';
import { ScrollComponentState } from '../x-modules/scroll/store/types';
import { InputStatus } from '../x-modules/search-box/store/types';
import { RequestStatus } from '../store/utils/status-store.utils';
/**
 * Creates an object containing the alias part of {@link XComponentAPI}.
 *
 * @returns An object containing the alias part of the {@link XComponentAPI}.
 *
 * @internal
 */
export declare function useAliasApi(): UseAliasAPI;
/**
 * Alias to facilitate retrieving values from the store.
 *
 * @public
 */
export interface UseAliasAPI {
    /** The {@link DeviceXModule} detected device. */
    readonly device: string | null;
    /** The {@link FacetsXModule} facets. */
    readonly facets: Record<Facet['id'], Facet>;
    /** The {@link HistoryQueriesXModule} history queries matching the query. */
    readonly historyQueries: ReadonlyArray<HistoryQuery>;
    /** The {@link HistoryQueriesXModule} history queries with 1 or more results. */
    readonly historyQueriesWithResults: ReadonlyArray<HistoryQuery>;
    /** The {@link HistoryQueriesXModule} history queries. */
    readonly fullHistoryQueries: ReadonlyArray<HistoryQuery>;
    /** The {@link HistoryQueriesXModule} history queries enabled flag. */
    readonly isHistoryQueriesEnabled: Readonly<boolean>;
    /** The {@link SearchXModule} no results with filters flag. */
    readonly fromNoResultsWithFilters: Readonly<boolean>;
    /** The {@link IdentifierResultsXModule} results. */
    readonly identifierResults: ReadonlyArray<Result>;
    /** The {@link SearchBoxXModule } input status. */
    readonly searchBoxStatus: InputStatus | undefined;
    /** The {@link Empathize} is open state. */
    readonly isEmpathizeOpen: boolean;
    /** The {@link NextQueriesXModule} next queries. */
    readonly nextQueries: ReadonlyArray<NextQuery>;
    /** The {@link SearchXModule} no results situation. */
    readonly noResults: boolean;
    /** The {@link SearchXModule} partial results. */
    readonly partialResults: ReadonlyArray<PartialResult>;
    /** The {@link PopularSearchesXModule} popular searches. */
    readonly popularSearches: ReadonlyArray<Suggestion>;
    /** The query value of the different modules. */
    readonly query: UseAliasQueryAPI;
    /** The {@link QuerySuggestionsXModule} query suggestions that should be displayed. */
    readonly querySuggestions: ReadonlyArray<Suggestion>;
    /** The {@link QuerySuggestionsXModule} query suggestions. */
    readonly fullQuerySuggestions: ReadonlyArray<Suggestion>;
    /** The {@link RecommendationsXModule} recommendations. */
    readonly recommendations: ReadonlyArray<Result>;
    /** The {@link SearchXModule} redirections. */
    readonly redirections: ReadonlyArray<Redirection>;
    /** The {@link RelatedTagsXModule} related tags (Both selected and deselected). */
    readonly relatedTags: ReadonlyArray<RelatedTag>;
    /** The {@link SearchXModule} search results. */
    readonly results: ReadonlyArray<Result>;
    /** The {@link ScrollXModule} data state. */
    readonly scroll: Record<string, ScrollComponentState>;
    /** The {@link FacetsXModule} selected filters. */
    readonly selectedFilters: Filter[];
    /** The {@link RelatedTagsXModule} selected related tags. */
    readonly selectedRelatedTags: ReadonlyArray<RelatedTag>;
    /** The {@link SemanticQueriesXModule} queries. */
    readonly semanticQueries: ReadonlyArray<SemanticQuery>;
    /** The {@link SearchXModule} spellchecked query. */
    readonly spellcheckedQuery: string | null;
    /** The status value of the different modules. */
    readonly status: UseAliasStatusAPI;
    /** The {@link SearchXModule} total results. */
    readonly totalResults: number;
    /** The {@link SearchXModule} selected sort. */
    readonly selectedSort: string;
    /** The {@link SearchXModule} price specific stats. */
    readonly priceStats: {
        min: number;
        max: number;
    };
}
/**
 * Alias to facilitate retrieving the modules with query.
 *
 * @public
 */
export interface UseAliasQueryAPI {
    /** The {@link FacetsXModule} query. */
    readonly facets: string;
    /** The {@link SearchBoxXModule} query. */
    readonly searchBox: string;
    /** The {@link NextQueriesXModule} query. */
    readonly nextQueries: string;
    /** The {@link QuerySuggestionsXModule} query. */
    readonly querySuggestions: string;
    /** The {@link RelatedTagsXModule} query. */
    readonly relatedTags: string;
    /** The {@link SearchXModule} query. */
    readonly search: string;
}
/**
 * Alias to facilitate retrieving the modules with status.
 *
 * @public
 */
export interface UseAliasStatusAPI {
    /** The {@link IdentifierResultsXModule} status. */
    readonly identifierResults: RequestStatus | undefined;
    /** The {@link NextQueriesXModule} status. */
    readonly nextQueries: RequestStatus | undefined;
    /** The {@link PopularSearchesXModule} status. */
    readonly popularSearches: RequestStatus | undefined;
    /** The {@link QuerySuggestionsXModule} status. */
    readonly querySuggestions: RequestStatus | undefined;
    /** The {@link RecommendationsXModule} status. */
    readonly recommendations: RequestStatus | undefined;
    /** The {@link RelatedTagsXModule} status. */
    readonly relatedTags: RequestStatus | undefined;
    /** The {@link SearchXModule} status. */
    readonly search: RequestStatus | undefined;
}
//# sourceMappingURL=use-alias-api.d.ts.map