import * as z from "zod"; import React from "react"; import { OnboardingMediumPageProps, MediumOnboardingFormState } from "./OnboardingMedium.types"; declare const useOnboardingMedium: (props: OnboardingMediumPageProps) => { data: { steps: ({ id: string; label: string; title: string; description: string; component: React.FunctionComponent<{ formState: MediumOnboardingFormState; validationErrors: import("./OnboardingMedium.types").MediumOnboardingValidationErrors; onChange: (e: import("../../components/OnboardingStepper").FieldEvent) => void; ranks?: import("./OnboardingMedium.types").RankOption[]; roles?: import("./OnboardingMedium.types").RoleOption[]; }>; } | { id: string; label: string; title: string; description: string; component: React.FC<{ formState: MediumOnboardingFormState; validationErrors: import("./OnboardingMedium.types").MediumOnboardingValidationErrors; onChange: (e: React.ChangeEvent) => void; addressSuggestions: import("./OnboardingMedium.types").AddressSuggestion[]; enableGoogleAddress: boolean; handleAddressSearch: (searchTerm: string) => void; handleAddressSelect: (suggestion: import("./OnboardingMedium.types").AddressSuggestion) => void; }>; } | { id: string; label: string; title: string; description: string; component: React.FunctionComponent<{ formState: MediumOnboardingFormState; ranks: import("./OnboardingMedium.types").RankOption[]; roles: import("./OnboardingMedium.types").RoleOption[]; }>; })[]; formState: { number: string; email: string; password: string; document: string; firstName: string; lastName: string; street: string; neighborhood: string; city: string; state: string; zipCode: string; phone: string; birthDate: string; rankId: string; roleId: string; initiationDate: string; documentType: "" | "CPF" | "RG"; contact: string; confirmPassword: string; complement?: string | undefined; guardianName?: string | undefined; guardianPhone?: string | undefined; guardianRelationship?: string | undefined; }; isLoading: boolean; error: string | undefined; completionMessages: readonly ["Um minuto, estamos configurando o seu perfil...", "Criando sua conta de mĂ©dium...", "Configurando suas preferĂȘncias...", "Finalizando seu cadastro...", "Tudo pronto!"]; }; fns: { getStepValidation: (stepId: string) => z.ZodEffects, { password: string; confirmPassword: string; }, { password: string; confirmPassword: string; }> | z.ZodEffects; guardianPhone: z.ZodOptional; guardianRelationship: z.ZodOptional; }, "strip", z.ZodTypeAny, { email: string; firstName: string; lastName: string; phone: string; birthDate: string; guardianName?: string | undefined; guardianPhone?: string | undefined; guardianRelationship?: string | undefined; }, { email: string; firstName: string; lastName: string; phone: string; birthDate: string; guardianName?: string | undefined; guardianPhone?: string | undefined; guardianRelationship?: string | undefined; }>, { email: string; firstName: string; lastName: string; phone: string; birthDate: string; guardianName?: string | undefined; guardianPhone?: string | undefined; guardianRelationship?: string | undefined; }, { email: string; firstName: string; lastName: string; phone: string; birthDate: string; guardianName?: string | undefined; guardianPhone?: string | undefined; guardianRelationship?: string | undefined; }> | z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>; handleComplete: (formData: MediumOnboardingFormState) => Promise; handleCancel: () => void; onStepChange: (newStep: number) => void; }; }; export default useOnboardingMedium;