import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { LoginData } from './interface/login-data';
import { LogoutData } from './interface/logout-data';
import { LogoutCbData } from './interface/logout-cb-data';
import { OpenPrivateChatData } from './interface/open-private-chat-data';
import * as i0 from "@angular/core";
export declare class NgxRumbletalkService {
    private http;
    iframe: any;
    server: string;
    handleResolve: any;
    handleReject: any;
    iframeLoaded: Promise<unknown>;
    readonly postMessageEvents: any;
    constructor(http: HttpClient);
    address(hash: string): Observable<string>;
    reload(url: string): Observable<any>;
    login(data: LoginData): Promise<any>;
    logout(data: LogoutData): void;
    logoutCB(data: LogoutCbData): void;
    openPrivateChat(data: OpenPrivateChatData): void;
    postMessage(data: any): void;
    trim(str: string): string;
    validateUsername(username: string): boolean;
    validatePassword(password: string): boolean;
    validateUrl(url: string): boolean;
    /**
     * checks if the given origin is of a chat service
     * @param origin - the URL of the origin
     * returns boolean
     */
    validateChatOrigin(origin: any): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxRumbletalkService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NgxRumbletalkService>;
}
