import { StateContext } from '@ngxs/store';
import { Observable } from 'rxjs';
import { RolesActions } from './roles.actions';
import { AuthorizationService } from '../../services/authorization.service';
import { RolesDetails } from '../../models/roles-details';
import * as i0 from "@angular/core";
export declare const ROLES_STATE_NAME = "roles";
export interface RolesStateModel {
    items: RolesDetails[];
    lastUpdated?: Date;
}
export declare class RolesState {
    private apiService;
    constructor(apiService: AuthorizationService);
    loadAll$(ctx: StateContext<RolesStateModel>): Observable<RolesDetails[]>;
    create$(ctx: StateContext<RolesStateModel>, action: RolesActions.Create): Observable<RolesDetails>;
    update$(ctx: StateContext<RolesStateModel>, action: RolesActions.Update): Observable<RolesDetails>;
    delete$(ctx: StateContext<RolesStateModel>, action: RolesActions.Delete): Observable<void>;
    updateClaims$(ctx: StateContext<RolesStateModel>, action: RolesActions.UpdateClaims): Observable<RolesDetails>;
    clear$(ctx: StateContext<RolesStateModel>): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<RolesState, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<RolesState>;
}
