import "../ApiClient-fBZ10h6n.mjs";
import "../Permission-7IzIZMO2.mjs";
import "../ResourceType-qOZOQR5g.mjs";
import { t as AuditLogDetail_default } from "../AuditLogDetail-DiY3fwUL.mjs";
import { t as CrudEventType } from "../CrudEventType-DnYDdG5I.mjs";
//#region src/model/BaseAuditLog.d.ts
type IBaseAuditLog = {
tenantId: string;
id: string;
type: CrudEventType;
detail: AuditLogDetail_default;
date: Date;
userId: string;
ipAddress: string;
impersonatedBy: string;
};
/**
* @typedef {Object} IBaseAuditLog
* @property {String} tenantId
* @property {String} id
* @property {CrudEventType} type
* @property {AuditLogDetail} detail
* @property {Date} date
* @property {String} userId
* @property {String} ipAddress
* @property {String} impersonatedBy
*/
/**
* The BaseAuditLog model module.
* @module model/BaseAuditLog
* @type {IBaseAuditLog}
*/
declare class BaseAuditLog {
/**
* Initializes the fields of this object.
* This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
* Only for internal use.
*/
static initialize(obj: any, id: any, type: any, detail: any, date: any, userId: any): void;
/**
* Constructs a BaseAuditLog from a plain JavaScript object, optionally creating a new instance.
* Copies all relevant properties from data to obj if supplied or a new instance if not.
* @param {Object} data The plain JavaScript object bearing properties of interest.
* @param {module:model/BaseAuditLog} obj Optional instance to populate.
* @return {module:model/BaseAuditLog} The populated BaseAuditLog instance.
*/
static constructFromObject(data: any, obj: any): any;
/**
* Validates the JSON data with respect to BaseAuditLog.
* @param {Object} data The plain JavaScript object bearing properties of interest.
* @return {boolean} to indicate whether the JSON data is valid with respect to BaseAuditLog.
*/
static validateJSON(data: any): boolean;
/**
* Constructs a new BaseAuditLog.
* @alias module:model/BaseAuditLog
* @param {String} id -
* @param {module:model/CrudEventType} type -
* @param {module:model/AuditLogDetail} detail -
* @param {Date} date -
* @param {String} userId -
*/
constructor(id: string, type: any, detail: any, date: Date, userId: string);
tenantId: string;
id: string;
type: CrudEventType;
detail: AuditLogDetail_default;
date: Date;
userId: string;
ipAddress: string;
impersonatedBy: string;
}
declare namespace BaseAuditLog {
let RequiredProperties: string[];
}
//#endregion
export { IBaseAuditLog, BaseAuditLog as default };