import type { FeatureToggle, IEnvironment, IProject, IStrategyConfig, IVariant } from './model.js';
import type { IApiToken } from './model.js';
import type { IAuditUser, IUserWithRootRole } from './user.js';
import type { ITagType } from '../features/tag-type/tag-type-store-type.js';
import type { IFeatureAndTag } from './stores/feature-tag-store.js';
import { type IBaseEvent, type IEventType } from '../events/index.js';
import type { ITag } from '../tags/index.js';
import type { IClientApplication } from './stores/client-applications-store.js';
export declare class BaseEvent implements IBaseEvent {
    readonly type: IEventType;
    readonly createdBy: string;
    readonly createdByUserId: number;
    readonly ip: string;
    /**
     * @param type the type of the event we're creating.
     * @param auditUser User info used to track which user performed the action. Includes username (email or username), userId and ip
     */
    constructor(type: IEventType, auditUser: IAuditUser);
}
export declare class FeatureStaleEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    constructor(p: {
        stale: boolean;
        project: string;
        featureName: string;
        auditUser: IAuditUser;
    });
}
export declare class FeatureEnvironmentEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    readonly environment: string;
    constructor(p: {
        enabled: boolean;
        project: string;
        featureName: string;
        environment: string;
        auditUser: IAuditUser;
    });
}
export type StrategyIds = {
    strategyIds: string[];
};
export declare class StrategiesOrderChangedEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    readonly environment: string;
    readonly data: StrategyIds;
    readonly preData: StrategyIds;
    constructor(p: {
        project: string;
        featureName: string;
        environment: string;
        data: StrategyIds;
        preData: StrategyIds;
        auditUser: IAuditUser;
    });
}
export declare class FeatureVariantEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    readonly data: {
        variants: IVariant[];
    };
    readonly preData: {
        variants: IVariant[];
    };
    constructor(p: {
        project: string;
        featureName: string;
        newVariants: IVariant[];
        oldVariants: IVariant[];
        auditUser: IAuditUser;
    });
}
export declare class EnvironmentVariantEvent extends BaseEvent {
    readonly project: string;
    readonly environment: string;
    readonly featureName: string;
    readonly data: {
        variants: IVariant[];
    };
    readonly preData: {
        variants: IVariant[];
    };
    /**
     */
    constructor(p: {
        featureName: string;
        environment: string;
        project: string;
        newVariants: IVariant[];
        oldVariants: IVariant[];
        auditUser: IAuditUser;
    });
}
export declare class ProjectCreatedEvent extends BaseEvent {
    readonly project: string;
    readonly data: any;
    constructor(eventData: {
        data: any;
        project: string;
        auditUser: IAuditUser;
    });
}
export declare class ProjectUpdatedEvent extends BaseEvent {
    readonly project: string;
    readonly data: any;
    readonly preData: any;
    constructor(eventData: {
        data: any;
        preData: any;
        project: string;
        auditUser: IAuditUser;
    });
}
export declare class ProjectDeletedEvent extends BaseEvent {
    readonly project: string;
    constructor(eventData: {
        project: string;
        auditUser: IAuditUser;
    });
}
export declare class ProjectArchivedEvent extends BaseEvent {
    readonly project: string;
    constructor(eventData: {
        project: string;
        auditUser: IAuditUser;
    });
}
export declare class ProjectRevivedEvent extends BaseEvent {
    readonly project: string;
    constructor(eventData: {
        project: string;
        auditUser: IAuditUser;
    });
}
export declare class RoleUpdatedEvent extends BaseEvent {
    readonly data: any;
    readonly preData: any;
    constructor(eventData: {
        auditUser: IAuditUser;
        data: any;
        preData: any;
    });
}
export declare class FeatureChangeProjectEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    readonly data: {
        oldProject: string;
        newProject: string;
    };
    constructor(p: {
        oldProject: string;
        newProject: string;
        featureName: string;
        auditUser: IAuditUser;
    });
}
export declare class FeatureCreatedEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    readonly data: FeatureToggle;
    constructor(p: {
        project: string;
        featureName: string;
        data: FeatureToggle;
        auditUser: IAuditUser;
    });
}
export declare class ProjectImport extends BaseEvent {
    readonly data: IProject;
    constructor(p: {
        project: IProject;
        auditUser: IAuditUser;
    });
}
export declare class FeatureImport extends BaseEvent {
    readonly data: any;
    constructor(p: {
        feature: any;
        auditUser: IAuditUser;
    });
}
export declare class StrategyImport extends BaseEvent {
    readonly data: any;
    constructor(p: {
        strategy: any;
        auditUser: IAuditUser;
    });
}
export declare class EnvironmentImport extends BaseEvent {
    readonly data: IEnvironment;
    constructor(p: {
        env: IEnvironment;
        auditUser: IAuditUser;
    });
}
export declare class TagTypeImport extends BaseEvent {
    readonly data: ITagType;
    constructor(p: {
        tagType: ITagType;
        auditUser: IAuditUser;
    });
}
export declare class TagImport extends BaseEvent {
    readonly data: ITag;
    constructor(p: {
        tag: ITag;
        auditUser: IAuditUser;
    });
}
export declare class FeatureTagImport extends BaseEvent {
    readonly data: IFeatureAndTag;
    constructor(p: {
        featureTag: IFeatureAndTag;
        auditUser: IAuditUser;
    });
}
export type FeatureLifecycleCompleted = {
    kept: boolean;
    status: 'kept' | 'discarded';
    statusValue?: string;
};
export declare class FeatureCompletedEvent extends BaseEvent {
    readonly featureName: string;
    readonly data: FeatureLifecycleCompleted;
    readonly project: string;
    constructor(p: {
        project: string;
        featureName: string;
        data: FeatureLifecycleCompleted;
        auditUser: IAuditUser;
    });
}
export declare class FeatureUncompletedEvent extends BaseEvent {
    readonly featureName: string;
    readonly project: string;
    constructor(p: {
        featureName: string;
        auditUser: IAuditUser;
        project: string;
    });
}
export declare class FeatureUpdatedEvent extends BaseEvent {
    readonly data: any;
    readonly featureName: string;
    readonly project: string;
    constructor(eventData: {
        project: string;
        featureName: string;
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class FeatureTaggedEvent extends BaseEvent {
    readonly data: any;
    readonly featureName: string;
    readonly project: string;
    constructor(eventData: {
        project: string;
        featureName: string;
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class FeatureTypeUpdatedEvent extends BaseEvent {
    readonly data: any;
    readonly preData: any;
    constructor(eventData: {
        data: any;
        preData: any;
        auditUser: IAuditUser;
    });
}
export declare class FeatureDependencyAddedEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    readonly data: any;
    constructor(eventData: {
        project: string;
        featureName: string;
        auditUser: IAuditUser;
        data: any;
    });
}
export declare class FeatureDependencyRemovedEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    readonly data: any;
    constructor(eventData: {
        project: string;
        featureName: string;
        auditUser: IAuditUser;
        data: any;
    });
}
export declare class FeatureDependenciesRemovedEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    constructor(eventData: {
        project: string;
        featureName: string;
        auditUser: IAuditUser;
    });
}
export declare class FeaturesImportedEvent extends BaseEvent {
    readonly project: string;
    readonly environment: string;
    constructor(eventData: {
        project: string;
        environment: string;
        auditUser: IAuditUser;
    });
}
export declare class FeatureArchivedEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    constructor(p: {
        project: string;
        featureName: string;
        auditUser: IAuditUser;
    });
}
export declare class FeatureRevivedEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    /**
     */
    constructor(p: {
        project: string;
        featureName: string;
        auditUser: IAuditUser;
    });
}
export declare class FeatureDeletedEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    readonly preData: FeatureToggle;
    readonly tags: ITag[];
    /**
     */
    constructor(p: {
        project: string;
        featureName: string;
        preData: FeatureToggle;
        tags: ITag[];
        auditUser: IAuditUser;
    });
}
export declare class FeatureMetadataUpdateEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    readonly data: FeatureToggle;
    readonly preData: FeatureToggle;
    /**
     */
    constructor(p: {
        featureName: string;
        project: string;
        data: FeatureToggle;
        preData: FeatureToggle;
        auditUser: IAuditUser;
    });
}
export declare class FeatureLinkAddedEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    readonly data: {
        url: string;
        title?: string;
    };
    readonly preData: null;
    constructor(p: {
        featureName: string;
        project: string;
        data: {
            url: string;
            title?: string;
        };
        auditUser: IAuditUser;
    });
}
export declare class FeatureLinkUpdatedEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    readonly data: {
        url: string;
        title?: string;
    };
    readonly preData: {
        url: string;
        title?: string;
    };
    constructor(p: {
        featureName: string;
        project: string;
        data: {
            url: string;
            title?: string;
        };
        preData: {
            url: string;
            title?: string;
        };
        auditUser: IAuditUser;
    });
}
export declare class FeatureLinkRemovedEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    readonly preData: {
        url: string;
        title?: string;
    };
    readonly data: null;
    constructor(p: {
        featureName: string;
        project: string;
        preData: {
            url: string;
            title?: string;
        };
        auditUser: IAuditUser;
    });
}
export declare class FeatureStrategyAddEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    readonly environment: string;
    readonly data: IStrategyConfig;
    /**
     */
    constructor(p: {
        project: string;
        featureName: string;
        environment: string;
        data: IStrategyConfig;
        auditUser: IAuditUser;
    });
}
export declare class FeatureStrategyUpdateEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    readonly environment: string;
    readonly data: IStrategyConfig;
    readonly preData: IStrategyConfig;
    /**
     */
    constructor(p: {
        project: string;
        featureName: string;
        environment: string;
        data: IStrategyConfig;
        preData: IStrategyConfig;
        auditUser: IAuditUser;
    });
}
export declare class FeatureStrategyRemoveEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    readonly environment: string;
    readonly preData: IStrategyConfig;
    constructor(p: {
        project: string;
        featureName: string;
        environment: string;
        preData: IStrategyConfig;
        auditUser: IAuditUser;
    });
}
export declare class FeatureFavoritedEvent extends BaseEvent {
    readonly featureName: string;
    readonly data: any;
    constructor(eventData: {
        featureName: string;
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class ProjectFavoritedEvent extends BaseEvent {
    readonly project: string;
    readonly data: any;
    constructor(eventData: {
        project: string;
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class FeatureUnfavoritedEvent extends BaseEvent {
    readonly featureName: string;
    readonly data: any;
    constructor(eventData: {
        featureName: string;
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class ProjectUnfavoritedEvent extends BaseEvent {
    readonly project: string;
    readonly data: any;
    constructor(eventData: {
        project: string;
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class ProjectUserAddedEvent extends BaseEvent {
    readonly project: string;
    readonly data: any;
    readonly preData: any;
    /**
     */
    constructor(p: {
        project: string;
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class ProjectUserRemovedEvent extends BaseEvent {
    readonly project: string;
    readonly data: any;
    readonly preData: any;
    constructor(p: {
        project: string;
        preData: any;
        auditUser: IAuditUser;
    });
}
export declare class ProjectUserUpdateRoleEvent extends BaseEvent {
    readonly project: string;
    readonly data: any;
    readonly preData: any;
    constructor(eventData: {
        project: string;
        data: any;
        preData: any;
        auditUser: IAuditUser;
    });
}
export declare class ProjectGroupAddedEvent extends BaseEvent {
    readonly project: string;
    readonly data: any;
    readonly preData: any;
    constructor(p: {
        project: string;
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class ProjectAccessAddedEvent extends BaseEvent {
    readonly project: string;
    readonly data: any;
    readonly preData: any;
    constructor(p: {
        project: string;
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class ProjectAccessUserRolesUpdated extends BaseEvent {
    readonly project: string;
    readonly data: any;
    readonly preData: any;
    constructor(p: {
        project: string;
        data: any;
        preData: any;
        auditUser: IAuditUser;
    });
}
export declare class ProjectAccessGroupRolesUpdated extends BaseEvent {
    readonly project: string;
    readonly data: any;
    readonly preData: any;
    constructor(p: {
        project: string;
        data: any;
        preData: any;
        auditUser: IAuditUser;
    });
}
export declare class GroupUserRemoved extends BaseEvent {
    readonly preData: any;
    constructor(p: {
        userId: number;
        groupId: number;
        auditUser: IAuditUser;
    });
}
export declare class GroupUserAdded extends BaseEvent {
    readonly data: any;
    constructor(p: {
        userId: number;
        groupId: number;
        auditUser: IAuditUser;
    });
}
export declare class ProjectAccessUserRolesDeleted extends BaseEvent {
    readonly project: string;
    readonly data: null;
    readonly preData: any;
    constructor(p: {
        project: string;
        preData: any;
        auditUser: IAuditUser;
    });
}
export declare class ProjectAccessGroupRolesDeleted extends BaseEvent {
    readonly project: string;
    readonly data: null;
    readonly preData: any;
    constructor(p: {
        project: string;
        preData: any;
        auditUser: IAuditUser;
    });
}
export declare class SettingCreatedEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class SettingDeletedEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class SettingUpdatedEvent extends BaseEvent {
    readonly data: any;
    readonly preData: any;
    constructor(eventData: {
        data: any;
        auditUser: IAuditUser;
    }, preData: any);
}
export declare class PublicSignupTokenCreatedEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class PublicSignupTokenUpdatedEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class PublicSignupTokenUserAddedEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class ApiTokenCreatedEvent extends BaseEvent {
    readonly data: any;
    readonly environment: string;
    readonly project: string;
    constructor(eventData: {
        apiToken: Omit<IApiToken, 'secret'>;
        auditUser: IAuditUser;
    });
}
export declare class ApiTokenDeletedEvent extends BaseEvent {
    readonly preData: any;
    readonly environment: string;
    readonly project: string;
    constructor(eventData: {
        apiToken: Omit<IApiToken, 'secret'>;
        auditUser: IAuditUser;
    });
}
export declare class ApiTokenUpdatedEvent extends BaseEvent {
    readonly preData: any;
    readonly data: any;
    readonly environment: string;
    readonly project: string;
    constructor(eventData: {
        previousToken: Omit<IApiToken, 'secret'>;
        apiToken: Omit<IApiToken, 'secret'>;
        auditUser: IAuditUser;
    });
}
export declare class PotentiallyStaleOnEvent extends BaseEvent {
    readonly featureName: string;
    readonly project: string;
    constructor(eventData: {
        featureName: string;
        project: string;
        auditUser: IAuditUser;
    });
}
export declare class UserCreatedEvent extends BaseEvent {
    readonly data: IUserEventData;
    constructor(eventData: {
        userCreated: IUserEventData;
        auditUser: IAuditUser;
    });
}
export declare class UserUpdatedEvent extends BaseEvent {
    readonly data: IUserEventData;
    readonly preData: IUserEventData;
    constructor(eventData: {
        preUser: IUserEventData;
        postUser: IUserEventData;
        auditUser: IAuditUser;
    });
}
export declare class UserDeletedEvent extends BaseEvent {
    readonly preData: IUserEventData;
    constructor(eventData: {
        deletedUser: IUserEventData;
        auditUser: IAuditUser;
    });
}
export declare class ScimUsersDeleted extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class ScimGroupsDeleted extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class TagTypeCreatedEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        auditUser: IAuditUser;
        data: any;
    });
}
export declare class TagTypeDeletedEvent extends BaseEvent {
    readonly preData: any;
    constructor(eventData: {
        auditUser: IAuditUser;
        preData: any;
    });
}
export declare class TagTypeUpdatedEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        auditUser: IAuditUser;
        data: any;
    });
}
export declare class TagCreatedEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        auditUser: IAuditUser;
        data: any;
    });
}
export declare class TagDeletedEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        auditUser: IAuditUser;
        data: any;
    });
}
export declare class PatCreatedEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        auditUser: IAuditUser;
        data: any;
    });
}
export declare class PatDeletedEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        auditUser: IAuditUser;
        data: any;
    });
}
export declare class ProjectEnvironmentAdded extends BaseEvent {
    readonly project: string;
    readonly environment: string;
    constructor(eventData: {
        project: string;
        environment: string;
        auditUser: IAuditUser;
    });
}
export declare class ProjectEnvironmentRemoved extends BaseEvent {
    readonly project: string;
    readonly environment: string;
    constructor(eventData: {
        project: string;
        environment: string;
        auditUser: IAuditUser;
    });
}
export declare class FeaturesExportedEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        auditUser: IAuditUser;
        data: any;
    });
}
export declare class DropProjectsEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        auditUser: IAuditUser;
    });
}
export declare class DropFeaturesEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        auditUser: IAuditUser;
    });
}
export declare class DropStrategiesEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        auditUser: IAuditUser;
    });
}
export declare class DropEnvironmentsEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        auditUser: IAuditUser;
    });
}
export declare class DropFeatureTagsEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        auditUser: IAuditUser;
    });
}
export declare class DropTagsEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        auditUser: IAuditUser;
    });
}
export declare class DropTagTypesEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        auditUser: IAuditUser;
    });
}
export declare class RoleCreatedEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class RoleDeletedEvent extends BaseEvent {
    readonly preData: any;
    constructor(eventData: {
        preData: any;
        auditUser: IAuditUser;
    });
}
export declare class StrategyCreatedEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class StrategyUpdatedEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class StrategyDeletedEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class StrategyDeprecatedEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class StrategyReactivatedEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class DefaultStrategyUpdatedEvent extends BaseEvent {
    readonly project: string;
    readonly environment: string;
    readonly preData: any;
    readonly data: any;
    constructor(eventData: {
        project: string;
        environment: string;
        auditUser: IAuditUser;
        preData: any;
        data: any;
    });
}
export declare class AddonConfigCreatedEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        auditUser: IAuditUser;
        data: any;
    });
}
export declare class AddonConfigUpdatedEvent extends BaseEvent {
    readonly data: any;
    readonly preData: any;
    constructor(eventData: {
        auditUser: IAuditUser;
        data: any;
        preData: any;
    });
}
export declare class AddonConfigDeletedEvent extends BaseEvent {
    readonly preData: any;
    constructor(eventData: {
        auditUser: IAuditUser;
        preData: any;
    });
}
export declare class SegmentCreatedEvent extends BaseEvent {
    readonly project: string | undefined;
    readonly data: any;
    constructor(eventData: {
        auditUser: IAuditUser;
        project: string | undefined;
        data: any;
    });
}
export declare class SegmentUpdatedEvent extends BaseEvent {
    readonly data: any;
    readonly preData: any;
    readonly project: string;
    constructor(eventData: {
        auditUser: IAuditUser;
        project: string;
        data: any;
        preData: any;
    });
}
export declare class SegmentDeletedEvent extends BaseEvent {
    readonly preData: any;
    readonly project?: string;
    constructor(eventData: {
        auditUser: IAuditUser;
        preData: any;
        project?: string;
    });
}
export declare class GroupUpdatedEvent extends BaseEvent {
    readonly preData: any;
    readonly data: any;
    constructor(eventData: {
        data: any;
        preData: any;
        auditUser: IAuditUser;
    });
}
export declare class GroupDeletedEvent extends BaseEvent {
    readonly preData: any;
    constructor(eventData: {
        preData: any;
        auditUser: IAuditUser;
    });
}
export declare class MilestoneProgressionDeletedEvent extends BaseEvent {
    readonly project: string;
    readonly environment: string;
    readonly featureName: string;
    readonly preData: any;
    constructor(eventData: {
        project: string;
        environment: string;
        featureName: string;
        preData: any;
        auditUser: IAuditUser;
    });
}
export declare class MilestoneProgressionChangedEvent extends BaseEvent {
    readonly project: string;
    readonly environment: string;
    readonly featureName: string;
    readonly preData: any;
    readonly data: any;
    constructor(eventData: {
        project: string;
        environment: string;
        featureName: string;
        data: any;
        preData?: any;
        auditUser: IAuditUser;
    });
}
export declare class ReleasePlanTemplateCreatedEvent extends BaseEvent {
    readonly data: any;
    constructor(eventData: {
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class ReleasePlanTemplateUpdatedEvent extends BaseEvent {
    readonly preData: any;
    readonly data: any;
    constructor(eventData: {
        data: any;
        preData: any;
        auditUser: IAuditUser;
    });
}
export declare class ReleasePlanTemplateDeletedEvent extends BaseEvent {
    readonly preData: any;
    constructor(eventData: {
        preData: any;
        auditUser: IAuditUser;
    });
}
export declare class ReleasePlanTemplateArchivedEvent extends BaseEvent {
    readonly preData: any;
    readonly data: any;
    constructor(eventData: {
        data: any;
        preData: any;
        auditUser: IAuditUser;
    });
}
export declare class ReleasePlanAddedEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    readonly environment: string;
    readonly data: any;
    constructor(eventData: {
        project: string;
        featureName: string;
        environment: string;
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class ReleasePlanRemovedEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    readonly environment: string;
    readonly preData: any;
    constructor(eventData: {
        project: string;
        featureName: string;
        environment: string;
        preData: any;
        auditUser: IAuditUser;
    });
}
export declare class ReleasePlanMilestoneStartedEvent extends BaseEvent {
    readonly project: string;
    readonly featureName: string;
    readonly environment: string;
    readonly preData: any;
    readonly data: any;
    constructor(eventData: {
        project: string;
        featureName: string;
        environment: string;
        preData: any;
        data: any;
        auditUser: IAuditUser;
    });
}
export declare class ApplicationCreatedEvent extends BaseEvent {
    readonly data: IClientApplication;
    constructor(eventData: {
        data: IClientApplication;
        auditUser: IAuditUser;
    });
}
interface IUserEventData extends Pick<IUserWithRootRole, 'id' | 'name' | 'username' | 'email' | 'rootRole'> {
}
export declare class UserPreferenceUpdatedEvent extends BaseEvent {
    readonly userId: any;
    readonly data: any;
    constructor(eventData: {
        userId: number;
        data: any;
        auditUser: IAuditUser;
    });
}
export {};
//# sourceMappingURL=events.d.ts.map