import { AddPostModel } from '@/models/add.post.model'; import { PlansModel } from '@/models/plans.model'; import { PropertiesModel } from '@/models/properties.model'; import { FormAction } from '@/providers/StepsProvider'; import { Dispatch, HTMLInputTypeAttribute, SetStateAction } from 'react'; export interface IAdvertFormVariant { name: string; type?: HTMLInputTypeAttribute; isTextArea?: boolean; description?: string; onClick?: () => void; } export interface IAdvertForm { title: string; type: 'variants' | 'inputs'; variants: IAdvertFormVariant[]; } export interface IAdvertFormState { forms: IAdvertForm[]; setForms: Dispatch>; } export interface AddPostState { form: AddPostModel; dispatch: Dispatch; } export interface PropertyState { property: number | null; setProperty: Dispatch>; } export interface StepState { step: 1 | 2 | 3; setStep: Dispatch>; } export interface CalculatorContext { calculatorOpen: boolean; setCalculatorOpen: Dispatch>; } export interface PlanState { plan: number | null; setPlan: Dispatch>; } export interface PropertyDataState { properties: PropertiesModel | undefined; setProperties: Dispatch>; } export interface PlanDataState { plans: PlansModel | undefined; setPlans: Dispatch>; }