import { DataDomeRequest } from '../api';
import { User } from '../user';
import { DataDomeEvent, EventParams } from './event';
/**
 * Status of the password update event.
 */
export type PasswordUpdateStatus = 'attempted' | 'failed' | 'succeeded' | 'linkExpired';
/**
 * Reason for the password update event.
 */
export type PasswordUpdateReason = 'forcedReset' | 'forgotPassword' | 'userUpdate';
/**
 * This interface defines the parameters for the password update event.
 */
export interface PasswordUpdateEventParams extends Omit<EventParams, 'action'> {
    reason: PasswordUpdateReason;
    status: PasswordUpdateStatus;
    user: Pick<User, 'id'>;
}
/**
 * This class is used to define the password update event.
 */
export declare class PasswordUpdateEvent extends DataDomeEvent {
    reason: PasswordUpdateReason;
    status: PasswordUpdateStatus;
    user: Pick<User, 'id'>;
    constructor({ account, authentication, reason, session, status, user, }: PasswordUpdateEventParams);
    mergeWith(requestData: DataDomeRequest): DataDomeRequest;
}
//# sourceMappingURL=passwordUpdate.d.ts.map