import { z } from 'zod';
export declare const createLocationSchema: z.ZodObject<{
    address: z.ZodString;
    firstName: z.ZodOptional<z.ZodString>;
    lastName: z.ZodOptional<z.ZodString>;
    email: z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>;
    phone: z.ZodOptional<z.ZodString>;
    unitNumber: z.ZodOptional<z.ZodString>;
    supportLevel: z.ZodOptional<z.ZodNativeEnum<{
        LEVEL_1: "LEVEL_1";
        LEVEL_2: "LEVEL_2";
        LEVEL_3: "LEVEL_3";
        LEVEL_4: "LEVEL_4";
    }>>;
    sign: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    signSize: z.ZodOptional<z.ZodString>;
    notes: z.ZodOptional<z.ZodString>;
    buildingNotes: z.ZodOptional<z.ZodString>;
    latitude: z.ZodOptional<z.ZodNumber>;
    longitude: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    address: string;
    sign: boolean;
    email?: string | undefined;
    phone?: string | undefined;
    latitude?: number | undefined;
    longitude?: number | undefined;
    notes?: string | undefined;
    firstName?: string | undefined;
    lastName?: string | undefined;
    supportLevel?: "LEVEL_1" | "LEVEL_2" | "LEVEL_3" | "LEVEL_4" | undefined;
    unitNumber?: string | undefined;
    buildingNotes?: string | undefined;
    signSize?: string | undefined;
}, {
    address: string;
    email?: string | undefined;
    phone?: string | undefined;
    latitude?: number | undefined;
    longitude?: number | undefined;
    notes?: string | undefined;
    firstName?: string | undefined;
    lastName?: string | undefined;
    supportLevel?: "LEVEL_1" | "LEVEL_2" | "LEVEL_3" | "LEVEL_4" | undefined;
    unitNumber?: string | undefined;
    buildingNotes?: string | undefined;
    sign?: boolean | undefined;
    signSize?: string | undefined;
}>;
export declare const updateLocationSchema: z.ZodObject<{
    address: z.ZodOptional<z.ZodString>;
    latitude: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
    longitude: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
    postalCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    province: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    buildingType: z.ZodOptional<z.ZodNullable<z.ZodNativeEnum<{
        SINGLE_FAMILY: "SINGLE_FAMILY";
        MULTI_UNIT: "MULTI_UNIT";
        MIXED_USE: "MIXED_USE";
        COMMERCIAL: "COMMERCIAL";
    }>>>;
    buildingNotes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    firstName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    lastName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    email: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodOptional<z.ZodString>, z.ZodLiteral<"">]>>>;
    phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    unitNumber: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    supportLevel: z.ZodOptional<z.ZodNullable<z.ZodNativeEnum<{
        LEVEL_1: "LEVEL_1";
        LEVEL_2: "LEVEL_2";
        LEVEL_3: "LEVEL_3";
        LEVEL_4: "LEVEL_4";
    }>>>;
    sign: z.ZodOptional<z.ZodBoolean>;
    signSize: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    email?: string | null | undefined;
    phone?: string | null | undefined;
    latitude?: number | null | undefined;
    longitude?: number | null | undefined;
    notes?: string | null | undefined;
    firstName?: string | null | undefined;
    lastName?: string | null | undefined;
    supportLevel?: "LEVEL_1" | "LEVEL_2" | "LEVEL_3" | "LEVEL_4" | null | undefined;
    address?: string | undefined;
    unitNumber?: string | null | undefined;
    postalCode?: string | null | undefined;
    province?: string | null | undefined;
    buildingType?: "SINGLE_FAMILY" | "MULTI_UNIT" | "MIXED_USE" | "COMMERCIAL" | null | undefined;
    buildingNotes?: string | null | undefined;
    sign?: boolean | undefined;
    signSize?: string | null | undefined;
}, {
    email?: string | null | undefined;
    phone?: string | null | undefined;
    latitude?: number | null | undefined;
    longitude?: number | null | undefined;
    notes?: string | null | undefined;
    firstName?: string | null | undefined;
    lastName?: string | null | undefined;
    supportLevel?: "LEVEL_1" | "LEVEL_2" | "LEVEL_3" | "LEVEL_4" | null | undefined;
    address?: string | undefined;
    unitNumber?: string | null | undefined;
    postalCode?: string | null | undefined;
    province?: string | null | undefined;
    buildingType?: "SINGLE_FAMILY" | "MULTI_UNIT" | "MIXED_USE" | "COMMERCIAL" | null | undefined;
    buildingNotes?: string | null | undefined;
    sign?: boolean | undefined;
    signSize?: string | null | undefined;
}>;
export declare const listLocationsSchema: z.ZodObject<{
    page: z.ZodDefault<z.ZodNumber>;
    limit: z.ZodDefault<z.ZodNumber>;
    search: z.ZodOptional<z.ZodString>;
    supportLevel: z.ZodOptional<z.ZodNativeEnum<{
        LEVEL_1: "LEVEL_1";
        LEVEL_2: "LEVEL_2";
        LEVEL_3: "LEVEL_3";
        LEVEL_4: "LEVEL_4";
    }>>;
    hasSign: z.ZodOptional<z.ZodBoolean>;
    confidenceLevel: z.ZodOptional<z.ZodEnum<["high", "medium", "low", "none"]>>;
    sortBy: z.ZodDefault<z.ZodOptional<z.ZodEnum<["createdAt", "address", "supportLevel"]>>>;
    sortOrder: z.ZodDefault<z.ZodOptional<z.ZodEnum<["asc", "desc"]>>>;
}, "strip", z.ZodTypeAny, {
    limit: number;
    page: number;
    sortBy: "createdAt" | "supportLevel" | "address";
    sortOrder: "asc" | "desc";
    search?: string | undefined;
    supportLevel?: "LEVEL_1" | "LEVEL_2" | "LEVEL_3" | "LEVEL_4" | undefined;
    hasSign?: boolean | undefined;
    confidenceLevel?: "none" | "low" | "medium" | "high" | undefined;
}, {
    search?: string | undefined;
    limit?: number | undefined;
    page?: number | undefined;
    sortBy?: "createdAt" | "supportLevel" | "address" | undefined;
    sortOrder?: "asc" | "desc" | undefined;
    supportLevel?: "LEVEL_1" | "LEVEL_2" | "LEVEL_3" | "LEVEL_4" | undefined;
    hasSign?: boolean | undefined;
    confidenceLevel?: "none" | "low" | "medium" | "high" | undefined;
}>;
export declare const locationIdSchema: z.ZodObject<{
    id: z.ZodString;
}, "strip", z.ZodTypeAny, {
    id: string;
}, {
    id: string;
}>;
export declare const geocodeAddressSchema: z.ZodObject<{
    address: z.ZodString;
}, "strip", z.ZodTypeAny, {
    address: string;
}, {
    address: string;
}>;
export declare const bulkDeleteSchema: z.ZodObject<{
    ids: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    ids: string[];
}, {
    ids: string[];
}>;
export declare const reverseGeocodeSchema: z.ZodObject<{
    latitude: z.ZodNumber;
    longitude: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    latitude: number;
    longitude: number;
}, {
    latitude: number;
    longitude: number;
}>;
export declare const bulkImportSchema: z.ZodObject<{
    format: z.ZodDefault<z.ZodEnum<["standard", "nar"]>>;
    filterType: z.ZodDefault<z.ZodEnum<["none", "cut", "mapArea", "city", "province"]>>;
    cutId: z.ZodOptional<z.ZodString>;
    filterCity: z.ZodOptional<z.ZodString>;
    filterProvince: z.ZodOptional<z.ZodString>;
    residentialOnly: z.ZodDefault<z.ZodBoolean>;
    deduplicateRadius: z.ZodDefault<z.ZodNumber>;
    skipGeocoding: z.ZodDefault<z.ZodBoolean>;
    batchSize: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    format: "standard" | "nar";
    filterType: "none" | "city" | "cut" | "province" | "mapArea";
    residentialOnly: boolean;
    deduplicateRadius: number;
    skipGeocoding: boolean;
    batchSize: number;
    cutId?: string | undefined;
    filterCity?: string | undefined;
    filterProvince?: string | undefined;
}, {
    format?: "standard" | "nar" | undefined;
    cutId?: string | undefined;
    filterType?: "none" | "city" | "cut" | "province" | "mapArea" | undefined;
    filterCity?: string | undefined;
    filterProvince?: string | undefined;
    residentialOnly?: boolean | undefined;
    deduplicateRadius?: number | undefined;
    skipGeocoding?: boolean | undefined;
    batchSize?: number | undefined;
}>;
export declare const boundsQuerySchema: z.ZodObject<{
    minLat: z.ZodNumber;
    maxLat: z.ZodNumber;
    minLng: z.ZodNumber;
    maxLng: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    minLat: number;
    maxLat: number;
    minLng: number;
    maxLng: number;
}, {
    minLat: number;
    maxLat: number;
    minLng: number;
    maxLng: number;
}>;
export type CreateLocationInput = z.infer<typeof createLocationSchema>;
export type UpdateLocationInput = z.infer<typeof updateLocationSchema>;
export type ListLocationsInput = z.infer<typeof listLocationsSchema>;
export type BulkImportInput = z.infer<typeof bulkImportSchema>;
export type BoundsQuery = z.infer<typeof boundsQuerySchema>;
//# sourceMappingURL=locations.schemas.d.ts.map