import { ISearchChannels } from "../../../discussions/api/types";
import { IFilter } from "../../types/IHubCatalog";
/**
 * @private
 *
 * Transforms an array of unknown values into an object containing `ids` and `notIds` arrays.
 *
 * @param values An array of unknown values
 * @returns and object containing an `ids` and `notIds` array
 */
export declare const parseIdsAndNotIds: (values: unknown[]) => {
    ids: string[];
    notIds: string[];
};
/**
 * @private
 *
 * Flattens an array of IFilter objects into a map of key/value pairs where the key is the name of the
 * predicate and the value is a unique array of all values for that predicate name spanning all collections
 * and predicates. Uniqueness is only guaranteed for primitives (i.e. strings, boolean, number, etc). E.g.
 *
 * const x = flattenFilters([{
 *   predicates: [{
 *     access: 'public',
 *   }, {
 *     access: 'org',
 *   }],
 * }, {
 *   predicates: [{
 *     access: ['private', 'org]
 *   }]
 * }]);
 *
 * x // => { access: ['public', 'org', 'private']}
 * @param filters An array of IFilter objects
 * @returns an object containing key/value pairs of parameter values
 */
export declare function flattenFilters(filters: IFilter[]): Record<string, unknown[]>;
/**
 * @private
 * Converts an IFilter array into a partial ISearchChannels
 * object of filter parameters
 * @param filters An array of IFilter objects
 * @returns a partial ISearchChannels object
 */
export declare function processChannelFilters(filters: IFilter[]): Partial<ISearchChannels>;
