import { ObservableData } from '@ts-core/common/observer'; import { Observable, Subject } from 'rxjs'; import { LoginBaseService } from '../login/LoginBaseService'; import { IUser } from './IUser'; export declare abstract class UserBaseService { protected login: LoginBaseService; protected _user: U; protected observer: Subject>; constructor(login: LoginBaseService); protected initialize(): void; protected initializeUser(): void; protected deinitializeUser(): void; protected loginedHandler(): void; protected logoutedHandler(): void; protected abstract createUser(data: any): U; isUser(value: any): boolean; updateUser(data: any): void; get events(): Observable>; get logined(): Observable; get changed(): Observable; get logouted(): Observable; get hasUser(): boolean; get isLogined(): boolean; get user(): U; get id(): string | number; } export declare enum UserBaseServiceEvent { LOGINED = "LOGINED", CHANGED = "CHANGED", LOGOUTED = "LOGOUTED" }