import type { ILens } from '../../../libs/standard-lens'; import type { EntityId, EntityState } from '../entity.types'; import type { EntitySelectors } from './entity.types'; /** * Take all of the entities in an entity state from a given lens and returns * an array of the entities. * * @param lens * @return */ export declare const makeSelectAll: (lens: ILens>) => (structure: StructureType) => T[]; /** * Select the given Ids from the entity state from a give lens and returns an array of them. * * @param lens * @return */ export declare const makeSelectByIds: (lens: ILens>) => (ids: EntityId[]) => (structure: StructureType) => T[]; /** * Select the given Id from the entity state from a give lens and returns either the entity * or undefined. * * @param lens * @return */ export declare const makeSelectById: (lens: ILens>) => (id: EntityId) => (structure: StructureType) => T | undefined; /** * Given an index it will select the Nth value if it exists. * * @param lens * @return */ export declare const makeSelectByIndex: (lens: ILens>) => (index: number) => (structure: StructureType) => T | undefined; /** * Given multiple indices it will select the Nth values if they exist. * * @param lens * @return */ export declare const makeSelectByIndices: (lens: ILens>) => (indices: number[]) => (structure: StructureType) => T[]; /** * Returns the full suite of selectors given the lens. * * @param lens * @return */ export declare const getSelectors: (lens: ILens>) => EntitySelectors;