import type { SearchCommerceSuccessResponse } from '../../../api/commerce/search/response.js';
import type { CommerceEngine, CommerceEngineState } from '../../../app/commerce-engine/commerce-engine.js';
import { stateKey } from '../../../app/state-key.js';
import type { CommercePaginationSection, CommerceQuerySection, CommerceSearchSection } from '../../../state/state-sections.js';
import type { CommerceSearchParameters } from '../search-parameters/search-parameters-actions.js';
/**
 * Duplicate selector since the state is no longer accessible externally
 * TODO: KIT-3199: Update all other selectors to use the engine as a parameter
 */
export declare const responseIdSelectorFromEngine: ((state: CommerceEngine<{}>) => string) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
} & {
    resultFunc: (resultFuncArgs_0: string) => string;
    memoizedResultFunc: ((resultFuncArgs_0: string) => string) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    };
    lastResult: () => string;
    dependencies: [(engine: CommerceEngine) => string];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
} & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
};
export declare const responseIdSelector: ((state: {
    productListing: import("../product-listing/product-listing-state.js").ProductListingState;
    recommendations: import("../recommendations/recommendations-state.js").RecommendationsState;
    commerceSearch: import("./search-state.js").CommerceSearchState;
    commercePagination: import("../pagination/pagination-state.js").CommercePaginationState;
    commerceSort: import("../sort/sort-state.js").CommerceSortState;
    facetOrder: import("../../facets/facet-order/facet-order-state.js").FacetOrderState;
    fieldSuggestionsOrder: import("../facets/field-suggestions-order/field-suggestions-order-state.js").FieldSuggestionsOrderState;
    facetSearchSet: import("../../facets/facet-search-set/specific/specific-facet-search-set-state.js").SpecificFacetSearchSetState;
    categoryFacetSearchSet: import("../../facets/facet-search-set/category/category-facet-search-set-state.js").CategoryFacetSearchSetState;
    commerceFacetSet: import("../facets/facet-set/facet-set-state.js").CommerceFacetSetState;
    manualNumericFacetSet: import("../facets/numeric-facet/manual-numeric-facet-state.js").ManualNumericFacetSetState;
    commerceContext: import("../context/context-state.js").CommerceContextState;
    commerceQuery: import("../query/query-state.js").CommerceQueryState;
    cart: import("../context/cart/cart-state.js").CartState;
    didYouMean: import("../did-you-mean/did-you-mean-state.js").DidYouMeanState;
    triggers: import("../../triggers/triggers-state.js").TriggerState;
} & Partial<import("../../../ssr-commerce-next.index.js").CommerceAppState>) => string) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
} & {
    resultFunc: (resultFuncArgs_0: string) => string;
    memoizedResultFunc: ((resultFuncArgs_0: string) => string) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    };
    lastResult: () => string;
    dependencies: [(state: CommerceEngineState) => string];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
} & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
};
export declare const requestIdSelector: ((state: {
    productListing: import("../product-listing/product-listing-state.js").ProductListingState;
    recommendations: import("../recommendations/recommendations-state.js").RecommendationsState;
    commerceSearch: import("./search-state.js").CommerceSearchState;
    commercePagination: import("../pagination/pagination-state.js").CommercePaginationState;
    commerceSort: import("../sort/sort-state.js").CommerceSortState;
    facetOrder: import("../../facets/facet-order/facet-order-state.js").FacetOrderState;
    fieldSuggestionsOrder: import("../facets/field-suggestions-order/field-suggestions-order-state.js").FieldSuggestionsOrderState;
    facetSearchSet: import("../../facets/facet-search-set/specific/specific-facet-search-set-state.js").SpecificFacetSearchSetState;
    categoryFacetSearchSet: import("../../facets/facet-search-set/category/category-facet-search-set-state.js").CategoryFacetSearchSetState;
    commerceFacetSet: import("../facets/facet-set/facet-set-state.js").CommerceFacetSetState;
    manualNumericFacetSet: import("../facets/numeric-facet/manual-numeric-facet-state.js").ManualNumericFacetSetState;
    commerceContext: import("../context/context-state.js").CommerceContextState;
    commerceQuery: import("../query/query-state.js").CommerceQueryState;
    cart: import("../context/cart/cart-state.js").CartState;
    didYouMean: import("../did-you-mean/did-you-mean-state.js").DidYouMeanState;
    triggers: import("../../triggers/triggers-state.js").TriggerState;
} & Partial<import("../../../ssr-commerce-next.index.js").CommerceAppState>) => string) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
} & {
    resultFunc: (resultFuncArgs_0: string) => string;
    memoizedResultFunc: ((resultFuncArgs_0: string) => string) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    };
    lastResult: () => string;
    dependencies: [(state: CommerceEngineState) => string];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
} & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
};
export declare const numberOfProductsSelector: ((state: Partial<CommerceSearchSection>) => number) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
} & {
    resultFunc: (resultFuncArgs_0: number) => number;
    memoizedResultFunc: ((resultFuncArgs_0: number) => number) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    };
    lastResult: () => number;
    dependencies: [(state: Partial<CommerceSearchSection>) => number];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
} & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
};
export declare const moreProductsAvailableSelector: ((state: Partial<CommercePaginationSection & CommerceSearchSection>) => boolean) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
} & {
    resultFunc: (resultFuncArgs_0: {
        total: number;
        current: number;
    }) => boolean;
    memoizedResultFunc: ((resultFuncArgs_0: {
        total: number;
        current: number;
    }) => boolean) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    };
    lastResult: () => boolean;
    dependencies: [(state: Partial<CommercePaginationSection & CommerceSearchSection>) => {
        total: number;
        current: number;
    }];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
} & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
};
export declare const isLoadingSelector: ((state: Partial<CommerceSearchSection>) => boolean) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
} & {
    resultFunc: (resultFuncArgs_0: boolean | undefined) => boolean;
    memoizedResultFunc: ((resultFuncArgs_0: boolean | undefined) => boolean) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    };
    lastResult: () => boolean;
    dependencies: [(state: Partial<CommerceSearchSection>) => boolean | undefined];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
} & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
};
export declare const errorSelector: ((state: Partial<CommerceSearchSection>) => import("../../../api/commerce/commerce-api-error-response.js").CommerceAPIErrorStatusResponse | null) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
} & {
    resultFunc: (resultFuncArgs_0: import("../../../api/commerce/commerce-api-error-response.js").CommerceAPIErrorStatusResponse | null | undefined) => import("../../../api/commerce/commerce-api-error-response.js").CommerceAPIErrorStatusResponse | null;
    memoizedResultFunc: ((resultFuncArgs_0: import("../../../api/commerce/commerce-api-error-response.js").CommerceAPIErrorStatusResponse | null | undefined) => import("../../../api/commerce/commerce-api-error-response.js").CommerceAPIErrorStatusResponse | null) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    };
    lastResult: () => import("../../../api/commerce/commerce-api-error-response.js").CommerceAPIErrorStatusResponse | null;
    dependencies: [(state: Partial<CommerceSearchSection>) => import("../../../api/commerce/commerce-api-error-response.js").CommerceAPIErrorStatusResponse | null | undefined];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
} & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
};
export declare const querySelector: ((state: CommerceQuerySection) => string) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
} & {
    resultFunc: (resultFuncArgs_0: string) => string;
    memoizedResultFunc: ((resultFuncArgs_0: string) => string) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    };
    lastResult: () => string;
    dependencies: [(state: CommerceQuerySection) => string];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
} & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
};
export declare const queryExecutedFromResponseSelector: (state: CommerceQuerySection, response: SearchCommerceSuccessResponse) => string;
export declare const activeParametersSelector: (state: CommerceEngine[typeof stateKey]) => CommerceSearchParameters;
export declare function enrichedSummarySelector(state: CommerceEngineState): {
    query: string;
};
