import { PartialStateUpdater, SignalStoreFeature, EmptyFeatureResult } from '@ngrx/signals'; import { Signal } from '@angular/core'; type EntityId = string | number; type EntityMap = Record; type EntityState = { entityMap: EntityMap; ids: EntityId[]; }; type NamedEntityState = { [K in keyof EntityState as `${Collection}${Capitalize}`]: EntityState[K]; }; type EntityProps = { entities: Signal; }; type NamedEntityProps = { [K in keyof EntityProps as `${Collection}${Capitalize}`]: EntityProps[K]; }; type SelectEntityId = (entity: Entity) => EntityId; type EntityPredicate = (entity: Entity) => boolean; type EntityChanges = Partial | ((entity: Entity) => Partial); declare function addEntity(entity: Entity): PartialStateUpdater>; declare function addEntity(entity: Entity, config: { collection: Collection; selectId: SelectEntityId>; }): PartialStateUpdater>; declare function addEntity(entity: Entity, config: { collection: Collection; }): PartialStateUpdater>; declare function addEntity(entity: Entity, config: { selectId: SelectEntityId>; }): PartialStateUpdater>; declare function addEntities(entities: Entity[]): PartialStateUpdater>; declare function addEntities(entities: Entity[], config: { collection: Collection; selectId: SelectEntityId>; }): PartialStateUpdater>; declare function addEntities(entities: Entity[], config: { collection: Collection; }): PartialStateUpdater>; declare function addEntities(entities: Entity[], config: { selectId: SelectEntityId>; }): PartialStateUpdater>; declare function prependEntity(entity: Entity): PartialStateUpdater>; declare function prependEntity(entity: Entity, config: { collection: Collection; selectId: SelectEntityId>; }): PartialStateUpdater>; declare function prependEntity(entity: Entity, config: { collection: Collection; }): PartialStateUpdater>; declare function prependEntity(entity: Entity, config: { selectId: SelectEntityId>; }): PartialStateUpdater>; declare function prependEntities(entities: Entity[]): PartialStateUpdater>; declare function prependEntities(entities: Entity[], config: { collection: Collection; selectId: SelectEntityId>; }): PartialStateUpdater>; declare function prependEntities(entities: Entity[], config: { collection: Collection; }): PartialStateUpdater>; declare function prependEntities(entities: Entity[], config: { selectId: SelectEntityId>; }): PartialStateUpdater>; declare function removeEntity(id: EntityId): PartialStateUpdater>; declare function removeEntity(id: EntityId, config: { collection: Collection; }): PartialStateUpdater>; declare function removeEntities(ids: EntityId[]): PartialStateUpdater>; declare function removeEntities(predicate: EntityPredicate): PartialStateUpdater>; declare function removeEntities(ids: EntityId[], config: { collection: Collection; }): PartialStateUpdater>; declare function removeEntities, Entity = State extends NamedEntityState ? E : never>(predicate: EntityPredicate, config: { collection: Collection; }): PartialStateUpdater; declare function removeAllEntities(): PartialStateUpdater>; declare function removeAllEntities(config: { collection: Collection; }): PartialStateUpdater>; declare function setEntity(entity: Entity): PartialStateUpdater>; declare function setEntity(entity: Entity, config: { collection: Collection; selectId: SelectEntityId>; }): PartialStateUpdater>; declare function setEntity(entity: Entity, config: { collection: Collection; }): PartialStateUpdater>; declare function setEntity(entity: Entity, config: { selectId: SelectEntityId>; }): PartialStateUpdater>; declare function setEntities(entities: Entity[]): PartialStateUpdater>; declare function setEntities(entities: Entity[], config: { collection: Collection; selectId: SelectEntityId>; }): PartialStateUpdater>; declare function setEntities(entities: Entity[], config: { collection: Collection; }): PartialStateUpdater>; declare function setEntities(entities: Entity[], config: { selectId: SelectEntityId>; }): PartialStateUpdater>; declare function setAllEntities(entities: Entity[]): PartialStateUpdater>; declare function setAllEntities(entities: Entity[], config: { collection: Collection; selectId: SelectEntityId>; }): PartialStateUpdater>; declare function setAllEntities(entities: Entity[], config: { collection: Collection; }): PartialStateUpdater>; declare function setAllEntities(entities: Entity[], config: { selectId: SelectEntityId>; }): PartialStateUpdater>; declare function updateEntity, Entity = State extends NamedEntityState ? E : never>(update: { id: EntityId; changes: EntityChanges>; }, config: { collection: Collection; selectId: SelectEntityId>; }): PartialStateUpdater; declare function updateEntity, Entity = State extends NamedEntityState ? E : never>(update: { id: EntityId; changes: EntityChanges>; }, config: { collection: Collection; }): PartialStateUpdater; declare function updateEntity(update: { id: EntityId; changes: EntityChanges>; }, config: { selectId: SelectEntityId>; }): PartialStateUpdater>; declare function updateEntity(update: { id: EntityId; changes: EntityChanges>; }): PartialStateUpdater>; declare function updateEntities, Entity = State extends NamedEntityState ? E : never>(update: { ids: EntityId[]; changes: EntityChanges>; }, config: { collection: Collection; selectId: SelectEntityId>; }): PartialStateUpdater; declare function updateEntities, Entity = State extends NamedEntityState ? E : never>(update: { predicate: EntityPredicate; changes: EntityChanges>; }, config: { collection: Collection; selectId: SelectEntityId>; }): PartialStateUpdater; declare function updateEntities, Entity = State extends NamedEntityState ? E : never>(update: { ids: EntityId[]; changes: EntityChanges>; }, config: { collection: Collection; }): PartialStateUpdater; declare function updateEntities, Entity = State extends NamedEntityState ? E : never>(update: { predicate: EntityPredicate; changes: EntityChanges>; }, config: { collection: Collection; }): PartialStateUpdater; declare function updateEntities(update: { ids: EntityId[]; changes: EntityChanges>; }, config: { selectId: SelectEntityId>; }): PartialStateUpdater>; declare function updateEntities(update: { predicate: EntityPredicate; changes: EntityChanges>; }, config: { selectId: SelectEntityId>; }): PartialStateUpdater>; declare function updateEntities(update: { ids: EntityId[]; changes: EntityChanges>; }): PartialStateUpdater>; declare function updateEntities(update: { predicate: EntityPredicate; changes: EntityChanges>; }): PartialStateUpdater>; declare function updateAllEntities, Entity = State extends NamedEntityState ? E : never>(changes: EntityChanges>, config: { collection: Collection; selectId: SelectEntityId>; }): PartialStateUpdater; declare function updateAllEntities, Entity = State extends NamedEntityState ? E : never>(changes: EntityChanges>, config: { collection: Collection; }): PartialStateUpdater; declare function updateAllEntities(changes: EntityChanges>, config: { selectId: SelectEntityId>; }): PartialStateUpdater>; declare function updateAllEntities(changes: EntityChanges>): PartialStateUpdater>; declare function upsertEntity(entity: Entity): PartialStateUpdater>; declare function upsertEntity(entity: Entity, config: { collection: Collection; selectId: SelectEntityId>; }): PartialStateUpdater>; declare function upsertEntity(entity: Entity, config: { collection: Collection; }): PartialStateUpdater>; declare function upsertEntity(entity: Entity, config: { selectId: SelectEntityId>; }): PartialStateUpdater>; declare function upsertEntities(entities: Entity[]): PartialStateUpdater>; declare function upsertEntities(entities: Entity[], config: { collection: Collection; selectId: SelectEntityId>; }): PartialStateUpdater>; declare function upsertEntities(entities: Entity[], config: { collection: Collection; }): PartialStateUpdater>; declare function upsertEntities(entities: Entity[], config: { selectId: SelectEntityId>; }): PartialStateUpdater>; declare function entityConfig(config: { entity: Entity; collection: Collection; selectId: SelectEntityId>; }): typeof config; declare function entityConfig(config: { entity: Entity; selectId: SelectEntityId>; }): typeof config; declare function entityConfig(config: { entity: Entity; collection: Collection; }): typeof config; declare function entityConfig(config: { entity: Entity; }): typeof config; declare function withEntities(): SignalStoreFeature; props: EntityProps; methods: {}; }>; declare function withEntities(config: { entity: Entity; collection: Collection; }): SignalStoreFeature; props: NamedEntityProps; methods: {}; }>; declare function withEntities(config: { entity: Entity; }): SignalStoreFeature; props: EntityProps; methods: {}; }>; export { addEntities, addEntity, entityConfig, prependEntities, prependEntity, removeAllEntities, removeEntities, removeEntity, setAllEntities, setEntities, setEntity, updateAllEntities, updateEntities, updateEntity, upsertEntities, upsertEntity, withEntities }; export type { EntityChanges, EntityId, EntityMap, EntityProps, EntityState, NamedEntityProps, NamedEntityState, SelectEntityId };