import { Payload, Updater } from './type-alias';
import { EntityState } from '../entity-state';
import { Type } from '@angular/core';
export declare type EntitySetActiveAction = Payload<string>;
export declare type EntityUpdateActiveAction<T> = Payload<Updater<T>>;
export declare class SetActive {
    /**
     * Generates an action that sets an ID that identifies the active entity
     * @param target The targeted state class
     * @param id The ID that identifies the active entity
     */
    constructor(target: Type<EntityState<any>>, id: string);
}
export declare class ClearActive {
    /**
     * Generates an action that clears the active entity in the given state
     * @param target The targeted state class
     */
    constructor(target: Type<EntityState<any>>);
}
export declare class RemoveActive {
    /**
     * Generates an action that removes the active entity from the state and clears the active ID.
     * @param target The targeted state class
     */
    constructor(target: Type<EntityState<any>>);
}
export declare class UpdateActive<T> {
    /**
     * Generates an action that will update the current active entity.
     * If no entity is active a runtime error will be thrown.
     * @param target The targeted state class
     * @param payload An Updater payload
     * @see Updater
     */
    constructor(target: Type<EntityState<T>>, payload: Updater<T>);
}
