import { CheckpointRepository } from '../repositories/checkpoint.repository';
import { CreateCheckpointDto, UpdateCheckpointDto } from '../dto/checkpoint.dto';
export declare class CheckpointService {
    private readonly checkpointRepo;
    constructor(checkpointRepo: CheckpointRepository);
    findAll(): Promise<{
        code: string;
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        description: string | null;
        address: string | null;
        isActive: boolean;
        timezone: string;
        createdBy: string;
        latitude: number;
        longitude: number;
        geoPolicy: import("@prisma/client").$Enums.SiteGeoPolicy;
        geoRadius: number;
        geoAccuracyThreshold: number;
        allowUnauthenticatedCheckin: boolean;
        accessMode: import("@prisma/client").$Enums.SiteCheckpointAccessMode;
        qrRotationSeconds: number | null;
        qrGraceSeconds: number;
        sharedCheckinEnabled: boolean;
        sharedCompanyId: string | null;
        sharedCompanyLabel: string | null;
    }[]>;
    findById(id: string): Promise<{
        code: string;
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        description: string | null;
        address: string | null;
        isActive: boolean;
        timezone: string;
        createdBy: string;
        latitude: number;
        longitude: number;
        geoPolicy: import("@prisma/client").$Enums.SiteGeoPolicy;
        geoRadius: number;
        geoAccuracyThreshold: number;
        allowUnauthenticatedCheckin: boolean;
        accessMode: import("@prisma/client").$Enums.SiteCheckpointAccessMode;
        qrRotationSeconds: number | null;
        qrGraceSeconds: number;
        sharedCheckinEnabled: boolean;
        sharedCompanyId: string | null;
        sharedCompanyLabel: string | null;
    }>;
    findActiveByCode(code: string): Promise<{
        code: string;
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        description: string | null;
        address: string | null;
        isActive: boolean;
        timezone: string;
        createdBy: string;
        latitude: number;
        longitude: number;
        geoPolicy: import("@prisma/client").$Enums.SiteGeoPolicy;
        geoRadius: number;
        geoAccuracyThreshold: number;
        allowUnauthenticatedCheckin: boolean;
        accessMode: import("@prisma/client").$Enums.SiteCheckpointAccessMode;
        qrRotationSeconds: number | null;
        qrGraceSeconds: number;
        sharedCheckinEnabled: boolean;
        sharedCompanyId: string | null;
        sharedCompanyLabel: string | null;
    }>;
    private validateV15Fields;
    create(dto: CreateCheckpointDto, createdBy: string): Promise<{
        code: string;
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        description: string | null;
        address: string | null;
        isActive: boolean;
        timezone: string;
        createdBy: string;
        latitude: number;
        longitude: number;
        geoPolicy: import("@prisma/client").$Enums.SiteGeoPolicy;
        geoRadius: number;
        geoAccuracyThreshold: number;
        allowUnauthenticatedCheckin: boolean;
        accessMode: import("@prisma/client").$Enums.SiteCheckpointAccessMode;
        qrRotationSeconds: number | null;
        qrGraceSeconds: number;
        sharedCheckinEnabled: boolean;
        sharedCompanyId: string | null;
        sharedCompanyLabel: string | null;
    }>;
    update(id: string, dto: UpdateCheckpointDto): Promise<{
        code: string;
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        description: string | null;
        address: string | null;
        isActive: boolean;
        timezone: string;
        createdBy: string;
        latitude: number;
        longitude: number;
        geoPolicy: import("@prisma/client").$Enums.SiteGeoPolicy;
        geoRadius: number;
        geoAccuracyThreshold: number;
        allowUnauthenticatedCheckin: boolean;
        accessMode: import("@prisma/client").$Enums.SiteCheckpointAccessMode;
        qrRotationSeconds: number | null;
        qrGraceSeconds: number;
        sharedCheckinEnabled: boolean;
        sharedCompanyId: string | null;
        sharedCompanyLabel: string | null;
    }>;
    remove(id: string): Promise<{
        code: string;
        id: string;
        createdAt: Date;
        name: string;
        updatedAt: Date;
        description: string | null;
        address: string | null;
        isActive: boolean;
        timezone: string;
        createdBy: string;
        latitude: number;
        longitude: number;
        geoPolicy: import("@prisma/client").$Enums.SiteGeoPolicy;
        geoRadius: number;
        geoAccuracyThreshold: number;
        allowUnauthenticatedCheckin: boolean;
        accessMode: import("@prisma/client").$Enums.SiteCheckpointAccessMode;
        qrRotationSeconds: number | null;
        qrGraceSeconds: number;
        sharedCheckinEnabled: boolean;
        sharedCompanyId: string | null;
        sharedCompanyLabel: string | null;
    }>;
}
