import { LogAuthDetails } from './LogAuthDetails';
import { LogGroupCreatedDetails } from './LogGroupCreatedDetails';
import { LogGroupDeletedDetails } from './LogGroupDeletedDetails';
import { LogGroupModifiedDetails } from './LogGroupModifiedDetails';
import { Ip } from '../Ip';
import { LogLoginSuccessDetails } from './LogLoginSuccessDetails';
import { LogPolicyCreatedDetails } from './LogPolicyCreatedDetails';
import { LogPolicyDeletedDetails } from './LogPolicyDeletedDetails';
import { LogPolicyModifiedDetails } from './LogPolicyModifiedDetails';
import { LogProviderCreatedDetails } from './LogProviderCreatedDetails';
import { LogProviderDeletedDetails } from './LogProviderDeletedDetails';
import { LogProviderModifiedDetails } from './LogProviderModifiedDetails';
import { LogResourceGroupCreatedDetails } from './LogResourceGroupCreatedDetails';
import { LogResourceGroupDeletedDetails } from './LogResourceGroupDeletedDetails';
import { LogResourceGroupModifiedDetails } from './LogResourceGroupModifiedDetails';
import { LogTokenCreatedDetails } from './LogTokenCreatedDetails';
import { LogTokenDeletedDetails } from './LogTokenDeletedDetails';
import { LogTokenModifiedDetails } from './LogTokenModifiedDetails';
import { LogTypeEnum } from './LogTypeEnum';
import { LogUserCreatedDetails } from './LogUserCreatedDetails';
import { LogUserDeletedDetails } from './LogUserDeletedDetails';
import { LogUserModifiedDetails } from './LogUserModifiedDetails';
import { LogUserPasswordChangedDetails } from './LogUserPasswordChangedDetails';
/** An audit Log */
export interface Log {
    /** authentication details */
    authDetails?: LogAuthDetails;
    /** event's date */
    createdAt: string;
    /** specific fields for GROUP_CREATED events */
    groupCreatedDetails?: LogGroupCreatedDetails;
    /** specific fields for GROUP_DELETED events */
    groupDeletedDetails?: LogGroupDeletedDetails;
    /** specific fields for GROUP_MODIFIED events */
    groupModifiedDetails?: LogGroupModifiedDetails;
    /** IP associated to this event */
    ip?: Ip;
    /** specific fields for LOGIN_SUCCESS events */
    loginSuccessDetails?: LogLoginSuccessDetails;
    /** specific fields for POLICY_CREATED events */
    policyCreatedDetails?: LogPolicyCreatedDetails;
    /** specific fields for POLICY_DELETED events */
    policyDeletedDetails?: LogPolicyDeletedDetails;
    /** specific fields for POLICY_MODIFIED events */
    policyModifiedDetails?: LogPolicyModifiedDetails;
    /** specific fields for PROVIDER_CREATED events */
    providerCreatedDetails?: LogProviderCreatedDetails;
    /** specific fields for PROVIDER_DELETED events */
    providerDeletedDetails?: LogProviderDeletedDetails;
    /** specific fields for PROVIDER_MODIFIED events */
    providerModifiedDetails?: LogProviderModifiedDetails;
    /** specific fields for RESOURCE_GROUP_CREATED events */
    resourceGroupCreatedDetails?: LogResourceGroupCreatedDetails;
    /** specific fields for RESOURCE_GROUP_DELETED events */
    resourceGroupDeletedDetails?: LogResourceGroupDeletedDetails;
    /** specific fields for RESOURCE_GROUP_MODIFIED events */
    resourceGroupModifiedDetails?: LogResourceGroupModifiedDetails;
    /** specific fields for TOKEN_CREATED events */
    tokenCreatedDetails?: LogTokenCreatedDetails;
    /** specific fields for TOKEN_DELETED events */
    tokenDeletedDetails?: LogTokenDeletedDetails;
    /** specific fields for TOKEN_MODIFIED events */
    tokenModifiedDetails?: LogTokenModifiedDetails;
    /** type of event */
    type: LogTypeEnum;
    /** specific fields for USER_CREATED events */
    userCreatedDetails?: LogUserCreatedDetails;
    /** specific fields for USER_DELETED events */
    userDeletedDetails?: LogUserDeletedDetails;
    /** specific fields for USER_MODIFIED events */
    userModifiedDetails?: LogUserModifiedDetails;
    /** specific fields for USER_PASSWORD_CHANGED events */
    userPasswordChangedDetails?: LogUserPasswordChangedDetails;
}
//# sourceMappingURL=Log.d.ts.map