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