import { BasePort } from '@humand-packages/common';
import { Instance } from '../../../instances/business/models/instance';
import { UserDAO } from '../../../users/infrastructure/dataAccessObjects/userDAO';
import { NotifyIncidenceParams } from '../types/timeTracking/notifyIncidenceParams';

export default abstract class TimeTrackingNotificationsPort extends BasePort {
    abstract sendSilentPush(users: UserDAO[], instance: Instance, isDisablingNotifications: boolean): Promise<void>;
    abstract notifyCategorizedHourStepPending(instanceId: number, categorizedHourId: string, approvalStepId: string): Promise<void>;
    abstract notifyIncidence(params: NotifyIncidenceParams): Promise<void>;
}
