import { DataDomeRequest } from './api/request';
import { Session } from './session';
import { User } from './user';
declare enum ActionType {
    LOGIN = "login",
    REGISTER = "registration",
    PAYMENT = "payment"
}
/**
 * Status of the request
 * @enum
 */
export declare enum StatusType {
    SUCCEEDED = "succeeded",
    FAILED = "failed",
    UNDEFINED = "undefined"
}
export declare class DataDomeEvent {
    action: ActionType;
    status: StatusType;
    account: string;
    constructor(action: ActionType, account: string, status?: StatusType);
    mergeWith(requestData: DataDomeRequest): DataDomeRequest;
}
export declare class LoginEvent extends DataDomeEvent {
    constructor(account: string, status?: StatusType);
}
export declare class RegistrationEvent extends DataDomeEvent {
    user: User;
    session: Session;
    constructor(account: string, session: Session, user: User, status?: StatusType);
    mergeWith(requestData: DataDomeRequest): DataDomeRequest;
}
export {};
