import { EmptyConfig, OrArray, PropsFactory, Query, Reducer, StateOf, Store, StoreDef } from '@ngneat/elf'; import { MonoTypeOperatorFunction, OperatorFunction } from 'rxjs'; export type RequestsStatusState = StateOf; export type RecordKeys = S extends { requestsStatus: Record; } ? K : string; export type StatusState = SuccessState | ErrorState | PendingState | IdleState; export interface SuccessState { value: 'success'; } export interface ErrorState { value: 'error'; error: unknown; } export interface PendingState { value: 'pending'; } export interface IdleState { value: 'idle'; } export declare function withRequestsStatus(initialValue?: Record): PropsFactory<{ requestsStatus: Record; }, EmptyConfig>; export declare function updateRequestsStatus(keys: Array>, value: 'error', error: any): Reducer; export declare function updateRequestsStatus(keys: Array>, value: Exclude): Reducer; export declare function updateRequestsStatus(requests: Partial, StatusState>>): Reducer; export declare function updateRequestStatus(key: RecordKeys, value: 'error', error: any): Reducer; export declare function updateRequestStatus(key: RecordKeys, value: Exclude, error?: any): Reducer; export declare function getRequestStatus(key: RecordKeys): Query; export declare function selectRequestStatus(key: RecordKeys, options?: { groupKey?: string; }): OperatorFunction; export declare function selectIsRequestPending(key: RecordKeys): OperatorFunction; export declare function trackRequestStatus(store: Store>, key: RecordKeys, options?: { mapError?: (error: any) => any; }): MonoTypeOperatorFunction; export declare function createRequestsStatusOperator(store: Store>): (key: RecordKeys, options?: Parameters[2]) => MonoTypeOperatorFunction; export declare function initializeAsPending(keys: OrArray): Record; export declare function clearRequestsStatus(): Reducer;