import { PrismaService } from "../../../core/database/prisma/prisma.service";
import { Prisma } from '@prisma/client';
export declare class CheckpointRepository {
    private readonly prisma;
    constructor(prisma: PrismaService);
    findById(id: string): Prisma.Prisma__SiteCheckpointClient<{
        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;
    } | null, null, import("@prisma/client/runtime/library").DefaultArgs, Prisma.PrismaClientOptions>;
    findByCode(code: string): Prisma.Prisma__SiteCheckpointClient<{
        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;
    } | null, null, import("@prisma/client/runtime/library").DefaultArgs, Prisma.PrismaClientOptions>;
    findActiveByCode(code: string): Prisma.Prisma__SiteCheckpointClient<{
        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;
    } | null, null, import("@prisma/client/runtime/library").DefaultArgs, Prisma.PrismaClientOptions>;
    findAll(): Prisma.PrismaPromise<{
        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;
    }[]>;
    create(data: Prisma.SiteCheckpointCreateInput): Prisma.Prisma__SiteCheckpointClient<{
        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;
    }, never, import("@prisma/client/runtime/library").DefaultArgs, Prisma.PrismaClientOptions>;
    update(id: string, data: Prisma.SiteCheckpointUpdateInput): Prisma.Prisma__SiteCheckpointClient<{
        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;
    }, never, import("@prisma/client/runtime/library").DefaultArgs, Prisma.PrismaClientOptions>;
    delete(id: string): Prisma.Prisma__SiteCheckpointClient<{
        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;
    }, never, import("@prisma/client/runtime/library").DefaultArgs, Prisma.PrismaClientOptions>;
}
