import { AnyAction } from "redux"; import { Entities, EntitiesDefinition, AggregationCondition, ConditionFunc, Options, Required, ParentId, ParentIds, CreatedAt, UpdatedAt, Count, Sum, DuplicateChildren } from "interfaces"; import EntityManager from "./EntityManager"; import Operation from "./Operation"; export declare class EntitiesManager { _firebase: any; _firestore: any; _getEntities: (state: Object) => Entities; _errorHandler: (error: Error) => any; _entityManagers: { [entityType: string]: EntityManager; }; _entityReducers: { [entityType: string]: (state: any, action: any) => any; }; _reservedTransactionManagerRuns: Array<() => void>; _options: Options; constructor(getEntities: (state: any) => Entities, entitiesDefinition: EntitiesDefinition, errorHandler: (error: Error) => any, firestore: any, firebase: any, options?: Options); _inspect(): void; _initializeEntityManagers(entitiesDefinition: EntitiesDefinition): void; _setChildEntityHandlers(): void; _generateEntityReducers(): void; _runTransactionManager(dispatch: any, getState: any, initialOperation: Operation, conditionFunc?: ConditionFunc): Promise<"DONE">; entity(entityType: string): EntityManager; getEntitiesReducer(): (state: { [x: string]: any; }, action: AnyAction) => { [x: string]: any; }; static required(): Required; static parentId(parentEntityType: string): ParentId; static parentIds(parentEntityType: string): ParentIds; static createdAt(): CreatedAt; static updatedAt(): UpdatedAt; static count(childEntityType: string, conditions?: Array): Count; static sum(childEntityType: string, childPropKey: string, conditions?: Array): Sum; static duplicateChildren(childEntityType: string, mapFunc: (entityItem: Object) => Object, limit: number, conditions?: Array): DuplicateChildren; }