import Profile from "./Profile"; import Room from "./Room"; import Space from "./Space"; export declare type UserAction = "created" | "updated" | "deleted"; declare type EditableContent = "rooms" | "spaces"; declare type EditableContentType = { [key in EditableContent]: any; }; export declare type ContentCategory = EditableContent; declare namespace Activity { interface Fields { action: UserAction; before: T | null; after: T | null; category: C; categoryId: string; createdById: string; spaceId: string; updatedAt: firebase.firestore.FieldValue; user: Profile.Response; userNotification: string[]; } interface Create extends Fields { action: "created"; before: null; after: T; } interface Update extends Fields { action: "updated"; before: T; after: T; } interface Delete extends Fields { action: "deleted"; before: T; after: null; } type CreateRoom = Create; type UpdateRoom = Update; type DeleteRoom = Delete; type CreateSpace = Create; type UpdateSpace = Update; type DeleteSpace = Delete; type CreateActions = CreateRoom | CreateSpace; type UpdateActions = UpdateRoom | UpdateSpace; type DeleteActions = DeleteRoom | DeleteSpace; type Response = Omit & { updatedAt: firebase.firestore.Timestamp; }; type Get = Omit & { id: string; updatedAt: string; }; interface Snapshot extends Get { snap: firebase.firestore.DocumentSnapshot; } } export default Activity; //# sourceMappingURL=Activity.d.ts.map