import { IDIService } from "../IDIService";
export interface IDataMigrationService {
    IsMigrationDataAvailableAsync(): Promise<boolean>;
    GetLanguageCodeAsync(): Promise<string | null>;
    GetControllersDataAsync(): Promise<ControllerData[] | null>;
}
export declare class DataMigrationService implements IDataMigrationService, IDIService {
    static readonly AppSelectedLanguageKeyName: string;
    static readonly AppUserControllersKeyName: string;
    static readonly ServiceName: string;
    constructor();
    private waitForNavigatorObject;
    private b64DecodeUnicode;
    private decodeUriJsonData;
    private encodeUriJsonData;
    private IsExalusNativeMigrationAvailable;
    GetServiceName(): string;
    IsMigrationDataAvailableAsync(): Promise<boolean>;
    GetControllersDataAsync(): Promise<ControllerData[] | null>;
    GetLanguageCodeAsync(): Promise<string | null>;
    static GetIosMigrationStatus(timeout?: number): Promise<boolean | null>;
    static GetIosControllerList(timeout?: number): Promise<ControllerData[] | null>;
    static GetIosDefaultLanguage(timeout?: number): Promise<string | null>;
}
export interface IExalusDataMigration {
    IsMigrationDataAvailableAsync(): Promise<IsMigrationDataAvailableResponse | null>;
    GetLanguageCodeAsync(): Promise<string>;
    GetControllersDataAsync(): Promise<ControllerData[]>;
}
export interface ControllerData {
    AutoLogin: boolean;
    AutoLoginUser: AutoLoginUser;
    Name: string;
    PIN: string;
    SerialId: string;
}
export interface AutoLoginUser {
    Email: string;
    Password: string;
}
export interface IsMigrationDataAvailableResponse {
    Controllers: boolean;
    Language: boolean;
    DataMigrated: boolean;
}
