import { PreparedQuery } from '../../../shared-logic/src/Query/types';
/** A generic function to validate a list of queries, and then only run the ones which are valid. */
declare const runWithValidationAndCaching: <Query, Result>(queries: (import("../../../shared-logic/src/Query/types").UniqueArrayValuesQuery | import("../../../shared-logic/src/Query/types").PreAggregatedQuery | Query)[], isRunnable: (query: import("../../../shared-logic/src/Query/types").UniqueArrayValuesQuery | import("../../../shared-logic/src/Query/types").PreAggregatedQuery | Query) => boolean, run: (queries: (import("../../../shared-logic/src/Query/types").UniqueArrayValuesQuery | import("../../../shared-logic/src/Query/types").PreAggregatedQuery | Query)[]) => Promise<{
    results: (Result | null)[] | null;
} | null>, cacheKey: (query: import("../../../shared-logic/src/Query/types").UniqueArrayValuesQuery | import("../../../shared-logic/src/Query/types").PreAggregatedQuery | Query) => any) => Promise<(Result | null)[] | null>;
export default runWithValidationAndCaching;
