import { AttendanceSourceEnum } from '../enum/attendance-source.enum';
import { AttendanceStatus } from '../enum/attendance-status.enum';
import { AttendanceEvent } from '../interfaces/attendance-event.interface';
export declare const ATTENDANCE_SOURCE_RANK: Record<AttendanceSourceEnum, number>;
export declare const MANUAL_SOURCES: readonly AttendanceSourceEnum[];
export interface AttendanceResolution {
    status: AttendanceStatus;
    decidedBySource: AttendanceSourceEnum | null;
}
export declare function activeEvents(events: AttendanceEvent[]): AttendanceEvent[];
export declare function resolveAttendanceStatus(events: AttendanceEvent[] | null | undefined): AttendanceResolution;
export declare function isAttendedFromStatus(status: AttendanceStatus): boolean;
export declare function activeMarkFrom(events: AttendanceEvent[] | null | undefined, source: AttendanceSourceEnum): boolean | null;
export interface ManualActor {
    source: AttendanceSourceEnum;
    role: string;
}
export declare function resolveManualActor(roles: string[] | undefined): ManualActor | null;
export declare function deriveManualSource(roles: string[] | undefined): AttendanceSourceEnum | null;
