import { DateRangeFilter, Source, TEntityType } from '@reltio/mdm-sdk';
import { AttributeOption } from '../../types';
export declare enum ActivityTypes {
    MODEL_UPDATED = "MODEL_UPDATED",
    ENTITY_REMOVED = "ENTITY_REMOVED",
    ENTITY_CREATED = "ENTITY_CREATED",
    ENTITY_CHANGED = "ENTITY_CHANGED",
    ENTITIES_MERGED = "ENTITIES_MERGED",
    ENTITIES_SPLITTED = "ENTITIES_SPLITTED",
    ENTITY_LOST_MERGE = "ENTITY_LOST_MERGE",
    RELATIONSHIP_CREATED = "RELATIONSHIP_CREATED",
    RELATIONSHIP_REMOVED = "RELATIONSHIP_REMOVED",
    RELATIONSHIP_CHANGED = "RELATIONSHIP_CHANGED",
    POTENTIAL_MATCHES_FOUND = "POTENTIAL_MATCHES_FOUND",
    NOT_MATCHES_SET = "NOT_MATCHES_SET",
    NOT_MATCHES_RESET = "NOT_MATCHES_RESET",
    PERIODIC_TASK_SCHEDULED = "PERIODIC_TASK_SCHEDULED",
    ENTITIES_MERGED_MANUALLY = "ENTITIES_MERGED_MANUALLY",
    POTENTIAL_MATCHES_REMOVED = "POTENTIAL_MATCHES_REMOVED",
    ENTITIES_MERGED_ON_THE_FLY = "ENTITIES_MERGED_ON_THE_FLY",
    USER_LOGIN = "USER_LOGIN",
    USER_LOGOUT = "USER_LOGOUT",
    USER_SEARCH = "USER_SEARCH",
    USER_PROFILE_VIEW = "USER_PROFILE_VIEW",
    COMMENT_ADDED = "COMMENT_ADDED",
    COMMENT_UPDATED = "COMMENT_UPDATED",
    COMMENT_DELETED = "COMMENT_DELETED",
    ANALYTICS_ATTRIBUTES_CHANGED = "ANALYTICS_ATTRIBUTES_CHANGED",
    ATTRIBUTE_UNMASKED = "ATTRIBUTE_UNMASKED",
    SFDC_CONNECTOR_SYNCHRONIZATION_ISSUE = "SFDC_CONNECTOR_SYNCHRONIZATION_ISSUE",
    GROUP_CREATED = "GROUP_CREATED",
    GROUP_REMOVED = "GROUP_REMOVED",
    GROUP_CHANGED = "GROUP_CHANGED",
    SEGMENT_CREATE = "SEGMENT_CREATE",
    SEGMENT_DELETE = "SEGMENT_DELETE",
    SEGMENT_UPDATE = "SEGMENT_UPDATE",
    INTERACTION_CREATE = "INTERACTION_CREATE",
    INTERACTION_UPDATE = "INTERACTION_UPDATE"
}
export type ActivitiesFilter = {
    users: string[];
    activities: ActivityTypes[];
    dateRange: DateRangeFilter;
    attributes?: AttributeOption[];
    sources?: Source[];
    entityTypes?: TEntityType[];
    entityUri?: string;
    segmentId?: string;
};
type DeltaObject = {
    [key: string]: DeltaValue[];
};
export type DeltaValue = {
    value?: string | DeltaObject | null;
    ov: boolean;
    id: string;
    sources?: string[];
};
export declare enum DeltaTypes {
    ATTRIBUTE_CHANGED = "edited",
    ATTRIBUTE_ADDED = "added",
    ATTRIBUTE_REMOVED = "deleted"
}
export declare enum MemberDeltaTypes {
    MEMBER_CHANGED = "edited",
    MEMBER_ADDED = "added",
    MEMBER_REMOVED = "deleted"
}
export type ActivityDelta = {
    type: string;
    attributeType: string;
    newValue?: DeltaValue;
    oldValue?: DeltaValue;
};
export type ActivityItem = {
    id: string;
    method?: string;
    user?: string;
    url?: string;
    clientType?: string;
    objectUri?: string;
    objectType?: string;
    objectLabel?: string;
    startObjectUri?: string;
    startObjectLabel?: string;
    endObjectUri?: string;
    endObjectLabel?: string;
    timestamp: number;
    data?: {
        type: string;
        potentialMatches?: string;
        newUri?: string;
        [key: string]: string;
    };
    eventId?: string;
    deltaCollection?: {
        ovChanged: boolean;
        delta?: ActivityDelta[];
    };
};
export type ActivityData = {
    uri: string;
    user: string;
    timestamp: number;
    label?: string;
    description?: string;
    items?: ActivityItem[];
    itemsTotal?: number;
};
export {};
