import { Session } from '../session';
import { Authentication } from '../authentication';
import { User } from '../user';
import { DataDomeRequest } from '../api';
import { DataDomeEvent } from './event';
/**
 * Status of the login event.
 */
export type LoginStatus = 'succeeded' | 'failed';
/**
 * This interface defines the parameters for the login event.
 */
export interface LoginEventParams {
    account: string;
    authentication?: Authentication;
    session?: Session;
    status: LoginStatus;
    user?: Pick<User, 'id'>;
}
/**
 * This class is used to define the login event.
 */
export declare class LoginEvent extends DataDomeEvent {
    authentication?: Authentication;
    user?: Pick<User, 'id'>;
    session?: Session;
    status: LoginStatus;
    constructor({ account, status, user, session, authentication }: LoginEventParams);
    mergeWith(requestData: DataDomeRequest): DataDomeRequest;
}
//# sourceMappingURL=login.d.ts.map