import type { StreamAnswerAPIState } from '../../api/knowledge/stream-answer-api-state.js';
import type { SearchAppState } from '../../state/search-app-state.js';
import type { FollowUpAnswersSection, GeneratedAnswerSection } from '../../state/state-sections.js';
export declare const generativeQuestionAnsweringIdSelector: (state: Partial<SearchAppState>) => string | undefined;
export declare const isGeneratedAnswerFeatureEnabledWithAgentAPI: (state: Partial<SearchAppState>) => state is StreamAnswerAPIState;
export declare const selectFieldsToIncludeInCitation: (state: Partial<GeneratedAnswerSection>) => string[] | undefined;
export declare const selectFollowUpAnswersConversationId: (state: Partial<FollowUpAnswersSection>) => string | undefined;
export declare const citationSourceSelector: ((state: Partial<GeneratedAnswerSection & FollowUpAnswersSection>, citationId: string) => import("../../index.js").GeneratedAnswerCitation | undefined) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
} & {
    resultFunc: (resultFuncArgs_0: import("../../index.js").GeneratedAnswerCitation[] | undefined, resultFuncArgs_1: import("../../index.js").GeneratedAnswerCitation[] | undefined, resultFuncArgs_2: string) => import("../../index.js").GeneratedAnswerCitation | undefined;
    memoizedResultFunc: ((resultFuncArgs_0: import("../../index.js").GeneratedAnswerCitation[] | undefined, resultFuncArgs_1: import("../../index.js").GeneratedAnswerCitation[] | undefined, resultFuncArgs_2: string) => import("../../index.js").GeneratedAnswerCitation | undefined) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    };
    lastResult: () => import("../../index.js").GeneratedAnswerCitation | undefined;
    dependencies: [(state: Partial<GeneratedAnswerSection & FollowUpAnswersSection>) => import("../../index.js").GeneratedAnswerCitation[] | undefined, ((state: Partial<GeneratedAnswerSection & FollowUpAnswersSection>) => import("../../index.js").GeneratedAnswerCitation[] | undefined) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    } & {
        resultFunc: (resultFuncArgs_0: import("../follow-up-answers/follow-up-answers-state.js").FollowUpAnswer[] | undefined) => import("../../index.js").GeneratedAnswerCitation[] | undefined;
        memoizedResultFunc: ((resultFuncArgs_0: import("../follow-up-answers/follow-up-answers-state.js").FollowUpAnswer[] | undefined) => import("../../index.js").GeneratedAnswerCitation[] | undefined) & {
            clearCache: () => void;
            resultsCount: () => number;
            resetResultsCount: () => void;
        };
        lastResult: () => import("../../index.js").GeneratedAnswerCitation[] | undefined;
        dependencies: [(state: Partial<GeneratedAnswerSection & FollowUpAnswersSection>) => import("../follow-up-answers/follow-up-answers-state.js").FollowUpAnswer[] | undefined];
        recomputations: () => number;
        resetRecomputations: () => void;
        dependencyRecomputations: () => number;
        resetDependencyRecomputations: () => void;
    } & {
        argsMemoize: typeof import("reselect").weakMapMemoize;
        memoize: typeof import("reselect").weakMapMemoize;
    }, (_state: Partial<GeneratedAnswerSection & FollowUpAnswersSection>, citationId: string) => string];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
} & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
};
