import { RestModel } from '../models/restmodels';
import { Schema, StringOrNumberKeys } from '../models/Schema';
import { ReducerType } from '../models/ReducerStorage';
export default class BasicIdReducer<S extends Schema<any>, IdKey extends StringOrNumberKeys<S['RealType']> & StringOrNumberKeys<S['PopulatedType']> & string> {
    private restModel;
    constructor(model: RestModel<{}, S, IdKey, any, any>);
    private getReducer;
    getById(state: ReducerType, id: S['RealType'][IdKey]): S['RealType'] | null;
    getByIdPopulated(state: ReducerType, id: S['RealType'][IdKey]): S['PopulatedType'] | null;
    getIdError(state: ReducerType, id: S['RealType'][IdKey]): import("../..").HttpError | null;
    isIdInitialized(state: ReducerType, id: S['RealType'][IdKey]): boolean;
    isIdPopulated(state: ReducerType, id: S['RealType'][IdKey]): boolean;
    isIdFetching(state: ReducerType, id: S['RealType'][IdKey]): boolean;
    isIdInvalidated(state: ReducerType, id: S['RealType'][IdKey]): boolean;
}
