import { Loadable } from '@ts-core/common'; import { ExtendedError } from '@ts-core/common/error'; import { Observable } from 'rxjs'; export declare abstract class LoginBaseService extends Loadable { protected _sid: string; protected _resource: string; protected _loginData: V; protected _isLoggedIn: boolean; constructor(); protected loginByParam(param?: any): Promise; protected loginByFunction(sidReturnFunction: (...params: any[]) => Promise): Promise; protected loginBySid(): Promise; protected reset(): void; protected abstract loginRequest(...params: any[]): Promise; protected abstract loginSidRequest(): Promise; protected abstract logoutRequest(): Promise; protected abstract getSavedSid(): string; protected abstract parseLoginResponse(response: U): void; protected parseLoginErrorResponse(error: ExtendedError): void; protected parseLoginSidResponse(response: V): void; protected parseLoginSidErrorResponse(error: ExtendedError): void; abstract login(param: any): void; abstract registration(param: any): void; loginByResponse(param: U): Promise; tryLoginBySid(): boolean; logout(): void; isCanLoginWithSid(): boolean; destroy(): void; get logined(): Observable; get logouted(): Observable; get sid(): string; get resource(): string; get loginData(): V; get isLoggedIn(): boolean; } export declare enum LoginBaseServiceEvent { LOGIN_ERROR = "LOGIN_ERROR", LOGIN_STARTED = "LOGIN_STARTED", LOGIN_COMPLETE = "LOGIN_COMPLETE", LOGIN_FINISHED = "LOGIN_FINISHED", LOGOUT_STARTED = "LOGOUT_STARTED", LOGOUT_FINISHED = "LOGOUT_FINISHED", REGISTRATION_ERROR = "REGISTRATION_ERROR", REGISTRATION_STARTED = "REGISTRATION_STARTED", REGISTRATION_COMPLETE = "REGISTRATION_COMPLETE", REGISTRATION_FINISHED = "REGISTRATION_FINISHED" }