import React from 'react'; import { ChangeEventHandler, CSSProperties, MouseEventHandler } from "react"; export declare type SectionToEdit = { content: (item: SectionToEdit) => JSX.Element; title: string; icon: string; color: string; image?: string; leftPosition?: boolean; }; export declare type SectionsToEdit = SectionToEdit[]; export declare type Styles = CSSProperties; export declare type FormUpdateAttributes = { acount: T extends object ? T : never; updateAcount: (field: string) => ChangeEventHandler; submitted: S extends object ? T : never; styles: Styles; validation: () => boolean; }; export declare type PersonalFormUpdateAttributes = { updatePersonalInfo: () => void; keys: { name: T extends object ? keyof T extends string ? keyof T : never : never; lastname: T extends object ? keyof T extends string ? keyof T : never : never; }; }; export declare type AcountValidUpdate = { acountValid: any; updateAcountValid: (field: string) => ChangeEventHandler; }; export declare type EmailFormUpdateAttributes = { updateEmail: () => void; keys: { email: T extends object ? keyof T extends string ? keyof T : never : never; }; }; export declare type PasswordFormUpdateAttributes = { updatePassword: () => void; keys: { password: T extends object ? keyof T extends string ? keyof T : never : never; }; }; export declare type FormUpdate = (config: T) => SectionToEdit['content']; export declare type PersonalFormUpdate = FormUpdate>; export declare type EmailFormUpdate = FormUpdate>; export declare type PasswordFormUpdate = FormUpdate>; export declare type RolesOptions = { Participants: string; Staff: string; Collector: string; Administrator: string; Developer: string; }; export declare type UpdateAcount = (acount: T, setAcount: React.Dispatch>) => (field: string) => ChangeEventHandler; export declare const emptySubmitted: { personalInfo: boolean; password: boolean; email: boolean; }; export declare type AcountDialogFooter = ({ hideDialog, saveAcount, createAcount }: { hideDialog: MouseEventHandler; saveAcount: boolean | (() => void); createAcount: boolean | (() => void); }) => JSX.Element; export declare type DeleteAcountDialogFooter = ({ hideDeleteProductDialog, deleteAcount }: { hideDeleteProductDialog: MouseEventHandler; deleteAcount: () => void; }) => JSX.Element; export declare type LeftToolbarTemplate = ({ openNew }: { openNew: MouseEventHandler; }) => () => JSX.Element; export declare type ActionBodyTemplateProps = { editAcount: (acount: T) => void; showDeleteAcountDialog: (acount: T) => void; }; export declare type ActionBodyTemplateReturn = (acount: T) => JSX.Element; export declare type OpenNew = MouseEventHandler;