import { DataDomeRequest } from '../api';
import { Authentication } from '../authentication';
import { Session } from '../session';
export declare enum ActionType {
    LOGIN = "login",
    REGISTER = "registration",
    PASSWORD_UPDATE = "password/update",
    ACCOUNT_UPDATE = "account/update",
    PAYMENT = "payment"
}
export interface EventParams {
    action: ActionType;
    account: string;
    authentication?: Authentication;
    session?: Session;
}
/**
 * This class is used to define the common fields for all Events.
 *
 * @property {ActionType} action - The action associated with the event.
 * @property {StatusType} status - The status of the event. Defaults to `StatusType.UNDEFINED` if not provided.
 * @property {string} account - The account identifier related to the event.
 */
export declare class DataDomeEvent {
    action: ActionType;
    account: string;
    authentication?: Authentication;
    session?: Session;
    constructor({ action, account, authentication, session }: EventParams);
    mergeWith(requestData: DataDomeRequest): DataDomeRequest;
}
//# sourceMappingURL=event.d.ts.map