import z from 'zod';
export declare const createProfileSchema: z.ZodObject<{
    profile: z.ZodObject<z.objectUtil.extendShape<Pick<{
        id: z.ZodString;
        shortId: z.ZodNumber;
        phoneNumber: z.ZodEffects<z.ZodString, string, string>;
        secondaryPhoneNumber: z.ZodEffects<z.ZodNullable<z.ZodString>, string | null, string | null>;
        fullName: z.ZodString;
        firstName: z.ZodNullable<z.ZodString>;
        gender: z.ZodNullable<z.ZodString>;
        birthDate: z.ZodNullable<z.ZodPipeline<z.ZodString, z.ZodDate>>;
        profilePictureUrl: z.ZodNullable<z.ZodString>;
        instagram: z.ZodNullable<z.ZodString>;
        mail: z.ZodNullable<z.ZodString>;
        dni: z.ZodNullable<z.ZodString>;
        alternativeNames: z.ZodArray<z.ZodString, "many">;
        birthLocationId: z.ZodNullable<z.ZodString>;
        residenceLocationId: z.ZodNullable<z.ZodString>;
        isInTrash: z.ZodBoolean;
        movedToTrashDate: z.ZodNullable<z.ZodDate>;
        created_at: z.ZodDate;
        updated_at: z.ZodDate;
    }, "phoneNumber" | "secondaryPhoneNumber" | "fullName" | "profilePictureUrl" | "mail" | "gender" | "birthDate" | "instagram" | "dni" | "alternativeNames">, {
        comments: z.ZodOptional<z.ZodArray<z.ZodObject<Pick<{
            id: z.ZodString;
            content: z.ZodString;
            createdBy: z.ZodString;
            profileId: z.ZodString;
            isSolvable: z.ZodDefault<z.ZodBoolean>;
            isSolved: z.ZodDefault<z.ZodBoolean>;
            solvedAt: z.ZodNullable<z.ZodDate>;
            solvedBy: z.ZodOptional<z.ZodString>;
            created_at: z.ZodDate;
            updated_at: z.ZodDate;
        }, "content" | "isSolvable">, "strip", z.ZodTypeAny, {
            content: string;
            isSolvable: boolean;
        }, {
            content: string;
            isSolvable?: boolean | undefined;
        }>, "many">>;
        residence: z.ZodOptional<z.ZodObject<Pick<{
            id: z.ZodString;
            latitude: z.ZodNumber;
            longitude: z.ZodNumber;
            country: z.ZodString;
            state: z.ZodString;
            city: z.ZodString;
            created_at: z.ZodDate;
            updated_at: z.ZodDate;
        }, "latitude" | "longitude" | "state" | "country" | "city">, "strip", z.ZodTypeAny, {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        }, {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        }>>;
        birth: z.ZodOptional<z.ZodObject<Pick<{
            id: z.ZodString;
            latitude: z.ZodNumber;
            longitude: z.ZodNumber;
            country: z.ZodString;
            state: z.ZodString;
            city: z.ZodString;
            created_at: z.ZodDate;
            updated_at: z.ZodDate;
        }, "latitude" | "longitude" | "state" | "country" | "city">, "strip", z.ZodTypeAny, {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        }, {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        }>>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }>, "strip", z.ZodTypeAny, {
        phoneNumber: string;
        secondaryPhoneNumber: string | null;
        fullName: string;
        profilePictureUrl: string | null;
        mail: string | null;
        gender: string | null;
        birthDate: Date | null;
        instagram: string | null;
        dni: string | null;
        alternativeNames: string[];
        comments?: {
            content: string;
            isSolvable: boolean;
        }[] | undefined;
        tags?: string[] | undefined;
        residence?: {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        } | undefined;
        birth?: {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        } | undefined;
    }, {
        phoneNumber: string;
        secondaryPhoneNumber: string | null;
        fullName: string;
        profilePictureUrl: string | null;
        mail: string | null;
        gender: string | null;
        birthDate: string | null;
        instagram: string | null;
        dni: string | null;
        alternativeNames: string[];
        comments?: {
            content: string;
            isSolvable?: boolean | undefined;
        }[] | undefined;
        tags?: string[] | undefined;
        residence?: {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        } | undefined;
        birth?: {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        } | undefined;
    }>;
    checkForSimilarity: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    profile: {
        phoneNumber: string;
        secondaryPhoneNumber: string | null;
        fullName: string;
        profilePictureUrl: string | null;
        mail: string | null;
        gender: string | null;
        birthDate: Date | null;
        instagram: string | null;
        dni: string | null;
        alternativeNames: string[];
        comments?: {
            content: string;
            isSolvable: boolean;
        }[] | undefined;
        tags?: string[] | undefined;
        residence?: {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        } | undefined;
        birth?: {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        } | undefined;
    };
    checkForSimilarity?: boolean | undefined;
}, {
    profile: {
        phoneNumber: string;
        secondaryPhoneNumber: string | null;
        fullName: string;
        profilePictureUrl: string | null;
        mail: string | null;
        gender: string | null;
        birthDate: string | null;
        instagram: string | null;
        dni: string | null;
        alternativeNames: string[];
        comments?: {
            content: string;
            isSolvable?: boolean | undefined;
        }[] | undefined;
        tags?: string[] | undefined;
        residence?: {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        } | undefined;
        birth?: {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        } | undefined;
    };
    checkForSimilarity?: boolean | undefined;
}>;
declare const CreateProfileDto_base: import("@anatine/zod-nestjs").ZodDtoStatic<z.ZodObject<{
    profile: z.ZodObject<{
        phoneNumber: z.ZodEffects<z.ZodString, string, string>;
        secondaryPhoneNumber: z.ZodEffects<z.ZodNullable<z.ZodString>, string | null, string | null>;
        fullName: z.ZodString;
        profilePictureUrl: z.ZodNullable<z.ZodString>;
        mail: z.ZodNullable<z.ZodString>;
        gender: z.ZodNullable<z.ZodString>;
        birthDate: z.ZodNullable<z.ZodPipeline<z.ZodString, z.ZodDate>>;
        instagram: z.ZodNullable<z.ZodString>;
        dni: z.ZodNullable<z.ZodString>;
        alternativeNames: z.ZodArray<z.ZodString, "many">;
        comments: z.ZodOptional<z.ZodArray<z.ZodObject<{
            content: z.ZodString;
            isSolvable: z.ZodDefault<z.ZodBoolean>;
        }, z.UnknownKeysParam, z.ZodTypeAny, {
            content: string;
            isSolvable: boolean;
        }, {
            content: string;
            isSolvable?: boolean | undefined;
        }>, "many">>;
        residence: z.ZodOptional<z.ZodObject<{
            latitude: z.ZodNumber;
            longitude: z.ZodNumber;
            state: z.ZodString;
            country: z.ZodString;
            city: z.ZodString;
        }, z.UnknownKeysParam, z.ZodTypeAny, {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        }, {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        }>>;
        birth: z.ZodOptional<z.ZodObject<{
            latitude: z.ZodNumber;
            longitude: z.ZodNumber;
            state: z.ZodString;
            country: z.ZodString;
            city: z.ZodString;
        }, z.UnknownKeysParam, z.ZodTypeAny, {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        }, {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        }>>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, z.UnknownKeysParam, z.ZodTypeAny, {
        phoneNumber: string;
        secondaryPhoneNumber: string | null;
        fullName: string;
        profilePictureUrl: string | null;
        mail: string | null;
        gender: string | null;
        birthDate: Date | null;
        instagram: string | null;
        dni: string | null;
        alternativeNames: string[];
        comments?: {
            content: string;
            isSolvable: boolean;
        }[] | undefined;
        tags?: string[] | undefined;
        residence?: {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        } | undefined;
        birth?: {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        } | undefined;
    }, {
        phoneNumber: string;
        secondaryPhoneNumber: string | null;
        fullName: string;
        profilePictureUrl: string | null;
        mail: string | null;
        gender: string | null;
        birthDate: string | null;
        instagram: string | null;
        dni: string | null;
        alternativeNames: string[];
        comments?: {
            content: string;
            isSolvable?: boolean | undefined;
        }[] | undefined;
        tags?: string[] | undefined;
        residence?: {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        } | undefined;
        birth?: {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        } | undefined;
    }>;
    checkForSimilarity: z.ZodOptional<z.ZodBoolean>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    profile: {
        phoneNumber: string;
        secondaryPhoneNumber: string | null;
        fullName: string;
        profilePictureUrl: string | null;
        mail: string | null;
        gender: string | null;
        birthDate: Date | null;
        instagram: string | null;
        dni: string | null;
        alternativeNames: string[];
        comments?: {
            content: string;
            isSolvable: boolean;
        }[] | undefined;
        tags?: string[] | undefined;
        residence?: {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        } | undefined;
        birth?: {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        } | undefined;
    };
    checkForSimilarity?: boolean | undefined;
}, {
    profile: {
        phoneNumber: string;
        secondaryPhoneNumber: string | null;
        fullName: string;
        profilePictureUrl: string | null;
        mail: string | null;
        gender: string | null;
        birthDate: string | null;
        instagram: string | null;
        dni: string | null;
        alternativeNames: string[];
        comments?: {
            content: string;
            isSolvable?: boolean | undefined;
        }[] | undefined;
        tags?: string[] | undefined;
        residence?: {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        } | undefined;
        birth?: {
            latitude: number;
            longitude: number;
            state: string;
            country: string;
            city: string;
        } | undefined;
    };
    checkForSimilarity?: boolean | undefined;
}>>;
export declare class CreateProfileDto extends CreateProfileDto_base {
}
declare const similarProfileSchema: z.ZodObject<{
    profile: z.ZodObject<Pick<{
        id: z.ZodString;
        shortId: z.ZodNumber;
        phoneNumber: z.ZodEffects<z.ZodString, string, string>;
        secondaryPhoneNumber: z.ZodEffects<z.ZodNullable<z.ZodString>, string | null, string | null>;
        fullName: z.ZodString;
        firstName: z.ZodNullable<z.ZodString>;
        gender: z.ZodNullable<z.ZodString>;
        birthDate: z.ZodNullable<z.ZodPipeline<z.ZodString, z.ZodDate>>;
        profilePictureUrl: z.ZodNullable<z.ZodString>;
        instagram: z.ZodNullable<z.ZodString>;
        mail: z.ZodNullable<z.ZodString>;
        dni: z.ZodNullable<z.ZodString>;
        alternativeNames: z.ZodArray<z.ZodString, "many">;
        birthLocationId: z.ZodNullable<z.ZodString>;
        residenceLocationId: z.ZodNullable<z.ZodString>;
        isInTrash: z.ZodBoolean;
        movedToTrashDate: z.ZodNullable<z.ZodDate>;
        created_at: z.ZodDate;
        updated_at: z.ZodDate;
    }, "id" | "phoneNumber" | "fullName">, "strip", z.ZodTypeAny, {
        id: string;
        phoneNumber: string;
        fullName: string;
    }, {
        id: string;
        phoneNumber: string;
        fullName: string;
    }>;
    similarityPhoneNumberPercentage: z.ZodNumber;
    similarityFullNamePercentage: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    profile: {
        id: string;
        phoneNumber: string;
        fullName: string;
    };
    similarityPhoneNumberPercentage: number;
    similarityFullNamePercentage: number;
}, {
    profile: {
        id: string;
        phoneNumber: string;
        fullName: string;
    };
    similarityPhoneNumberPercentage: number;
    similarityFullNamePercentage: number;
}>;
export declare const createProfileResponseSchema: z.ZodObject<{
    response: z.ZodDiscriminatedUnion<"type", [z.ZodObject<z.objectUtil.extendShape<{
        similarProfiles: z.ZodArray<z.ZodObject<{
            profile: z.ZodObject<Pick<{
                id: z.ZodString;
                shortId: z.ZodNumber;
                phoneNumber: z.ZodEffects<z.ZodString, string, string>;
                secondaryPhoneNumber: z.ZodEffects<z.ZodNullable<z.ZodString>, string | null, string | null>;
                fullName: z.ZodString;
                firstName: z.ZodNullable<z.ZodString>;
                gender: z.ZodNullable<z.ZodString>;
                birthDate: z.ZodNullable<z.ZodPipeline<z.ZodString, z.ZodDate>>;
                profilePictureUrl: z.ZodNullable<z.ZodString>;
                instagram: z.ZodNullable<z.ZodString>;
                mail: z.ZodNullable<z.ZodString>;
                dni: z.ZodNullable<z.ZodString>;
                alternativeNames: z.ZodArray<z.ZodString, "many">;
                birthLocationId: z.ZodNullable<z.ZodString>;
                residenceLocationId: z.ZodNullable<z.ZodString>;
                isInTrash: z.ZodBoolean;
                movedToTrashDate: z.ZodNullable<z.ZodDate>;
                created_at: z.ZodDate;
                updated_at: z.ZodDate;
            }, "id" | "phoneNumber" | "fullName">, "strip", z.ZodTypeAny, {
                id: string;
                phoneNumber: string;
                fullName: string;
            }, {
                id: string;
                phoneNumber: string;
                fullName: string;
            }>;
            similarityPhoneNumberPercentage: z.ZodNumber;
            similarityFullNamePercentage: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            profile: {
                id: string;
                phoneNumber: string;
                fullName: string;
            };
            similarityPhoneNumberPercentage: number;
            similarityFullNamePercentage: number;
        }, {
            profile: {
                id: string;
                phoneNumber: string;
                fullName: string;
            };
            similarityPhoneNumberPercentage: number;
            similarityFullNamePercentage: number;
        }>, "many">;
    }, {
        type: z.ZodLiteral<"similar">;
    }>, "strip", z.ZodTypeAny, {
        type: "similar";
        similarProfiles: {
            profile: {
                id: string;
                phoneNumber: string;
                fullName: string;
            };
            similarityPhoneNumberPercentage: number;
            similarityFullNamePercentage: number;
        }[];
    }, {
        type: "similar";
        similarProfiles: {
            profile: {
                id: string;
                phoneNumber: string;
                fullName: string;
            };
            similarityPhoneNumberPercentage: number;
            similarityFullNamePercentage: number;
        }[];
    }>, z.ZodObject<z.objectUtil.extendShape<{
        id: z.ZodString;
    }, {
        type: z.ZodLiteral<"created">;
    }>, "strip", z.ZodTypeAny, {
        id: string;
        type: "created";
    }, {
        id: string;
        type: "created";
    }>]>;
}, "strip", z.ZodTypeAny, {
    response: {
        type: "similar";
        similarProfiles: {
            profile: {
                id: string;
                phoneNumber: string;
                fullName: string;
            };
            similarityPhoneNumberPercentage: number;
            similarityFullNamePercentage: number;
        }[];
    } | {
        id: string;
        type: "created";
    };
}, {
    response: {
        type: "similar";
        similarProfiles: {
            profile: {
                id: string;
                phoneNumber: string;
                fullName: string;
            };
            similarityPhoneNumberPercentage: number;
            similarityFullNamePercentage: number;
        }[];
    } | {
        id: string;
        type: "created";
    };
}>;
declare const CreateProfileResponseDto_base: import("@anatine/zod-nestjs").ZodDtoStatic<z.ZodObject<{
    response: z.ZodDiscriminatedUnion<"type", [z.ZodObject<z.objectUtil.extendShape<{
        similarProfiles: z.ZodArray<z.ZodObject<{
            profile: z.ZodObject<Pick<{
                id: z.ZodString;
                shortId: z.ZodNumber;
                phoneNumber: z.ZodEffects<z.ZodString, string, string>;
                secondaryPhoneNumber: z.ZodEffects<z.ZodNullable<z.ZodString>, string | null, string | null>;
                fullName: z.ZodString;
                firstName: z.ZodNullable<z.ZodString>;
                gender: z.ZodNullable<z.ZodString>;
                birthDate: z.ZodNullable<z.ZodPipeline<z.ZodString, z.ZodDate>>;
                profilePictureUrl: z.ZodNullable<z.ZodString>;
                instagram: z.ZodNullable<z.ZodString>;
                mail: z.ZodNullable<z.ZodString>;
                dni: z.ZodNullable<z.ZodString>;
                alternativeNames: z.ZodArray<z.ZodString, "many">;
                birthLocationId: z.ZodNullable<z.ZodString>;
                residenceLocationId: z.ZodNullable<z.ZodString>;
                isInTrash: z.ZodBoolean;
                movedToTrashDate: z.ZodNullable<z.ZodDate>;
                created_at: z.ZodDate;
                updated_at: z.ZodDate;
            }, "id" | "phoneNumber" | "fullName">, "strip", z.ZodTypeAny, {
                id: string;
                phoneNumber: string;
                fullName: string;
            }, {
                id: string;
                phoneNumber: string;
                fullName: string;
            }>;
            similarityPhoneNumberPercentage: z.ZodNumber;
            similarityFullNamePercentage: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            profile: {
                id: string;
                phoneNumber: string;
                fullName: string;
            };
            similarityPhoneNumberPercentage: number;
            similarityFullNamePercentage: number;
        }, {
            profile: {
                id: string;
                phoneNumber: string;
                fullName: string;
            };
            similarityPhoneNumberPercentage: number;
            similarityFullNamePercentage: number;
        }>, "many">;
    }, {
        type: z.ZodLiteral<"similar">;
    }>, "strip", z.ZodTypeAny, {
        type: "similar";
        similarProfiles: {
            profile: {
                id: string;
                phoneNumber: string;
                fullName: string;
            };
            similarityPhoneNumberPercentage: number;
            similarityFullNamePercentage: number;
        }[];
    }, {
        type: "similar";
        similarProfiles: {
            profile: {
                id: string;
                phoneNumber: string;
                fullName: string;
            };
            similarityPhoneNumberPercentage: number;
            similarityFullNamePercentage: number;
        }[];
    }>, z.ZodObject<z.objectUtil.extendShape<{
        id: z.ZodString;
    }, {
        type: z.ZodLiteral<"created">;
    }>, "strip", z.ZodTypeAny, {
        id: string;
        type: "created";
    }, {
        id: string;
        type: "created";
    }>]>;
}, z.UnknownKeysParam, z.ZodTypeAny, {
    response: {
        type: "similar";
        similarProfiles: {
            profile: {
                id: string;
                phoneNumber: string;
                fullName: string;
            };
            similarityPhoneNumberPercentage: number;
            similarityFullNamePercentage: number;
        }[];
    } | {
        id: string;
        type: "created";
    };
}, {
    response: {
        type: "similar";
        similarProfiles: {
            profile: {
                id: string;
                phoneNumber: string;
                fullName: string;
            };
            similarityPhoneNumberPercentage: number;
            similarityFullNamePercentage: number;
        }[];
    } | {
        id: string;
        type: "created";
    };
}>>;
export declare class CreateProfileResponseDto extends CreateProfileResponseDto_base {
}
export type SimilarityProfile = z.infer<typeof similarProfileSchema>;
export {};
