// Define o tipo base dos valores do formulário (importa do schema do usuário) import { z } from 'zod'; import { UserSchema } from '../../schemas/User/UserSchema'; // Cria o tipo inferido a partir do schema do usuário export type FormValues = z.infer; /** * Interface com as propriedades aceitas pelo componente UserForm. * Isso facilita a reutilização e deixa o código mais limpo. */ export interface UserFormInterface { isOpen: boolean; // Controla se o diálogo está aberto data: FormValues | null; // Dados do usuário para edição (ou null no modo de criação) onClose: (item: null, isFormStatus: boolean) => void; // Função executada ao fechar o diálogo onSave: (data: FormValues) => void; // Função executada ao salvar o formulário buttonIsLoading: boolean; // Define se o botão de envio está em modo de carregamento }