import { BasePort } from '@humand-packages/common';
import { UserInterface } from '../../../users/business/models/userInterface';
import { TimeTrackingKiosk } from '../models/timeTrackingKiosk';
import { TimeTrackingKioskLink, TimeTrackingKioskLinkAcceptedData } from '../models/timeTrackingKioskLink';

export abstract class TimeTrackingKioskLinkPort extends BasePort {
    abstract create(): Promise<TimeTrackingKioskLink>;
    abstract linkCode(kioskId: number, user: UserInterface, code: string): Promise<TimeTrackingKiosk>;
    abstract validateCode(id: number, code: string): Promise<TimeTrackingKioskLinkAcceptedData>;
    abstract expireWaitingLink(kioskId: number, instanceId: number): Promise<void>;
}
