///
///
import { IncomingMessage, ServerResponse } from 'http';
import SCOPE from './constants/scopes.js';
import EventEmitter from 'events';
export interface ILoginResponse {
user: unknown;
token: unknown;
scopes: Array;
dc: string;
}
export declare const missingScopes: Record>;
export default class Login {
readonly localhost: boolean;
readonly portPromise: Promise;
salt: string;
readonly user: boolean;
constructor(localhost?: boolean, user?: boolean);
init(): Promise;
_getCallbackUrl(port: number): string;
_getLoginUrl(callbackUrl: string, state: string): string;
_getTokenFromAuthorizationCode(code: string, callbackUrl: string): Promise<{
created_time: number;
expires_at: number;
} & Record>;
_getTokenFromDeviceCode(code: string, tkCtrl: {
retry: boolean;
retryCount: number;
}): Promise>;
_respondWithFile(req: IncomingMessage, res: ServerResponse, statusCode: number, filename: string): Promise;
_getUserDetails(): Promise | undefined>;
static loginEvents: EventEmitter<[never]>;
_loginWithoutLocalhost(err?: Error): Promise<{
user: unknown;
token: unknown;
scopes: Array;
dc: string;
}>;
_loginWithLocalhost(port: number): Promise<{
user: unknown;
token: unknown;
scopes: Array;
dc: string;
}>;
private _getScopes;
}