import { FormEventHandler, ReactNode } from "react";
import { ZodSchema } from "zod";

export interface FloatingLabelInputProps {
    label: string;
    placeholder?: string;
    type: 'text' | 'password' | 'select' | 'email' | 'number';
    options?: string[];
    button?: React.ReactNode;
    showPasswordToggle?: boolean;
    name: string;
    defaultValue?: string;
}

export interface FormProps {
    title?: string,
    fields: FloatingLabelInputProps[],
    submit: (param: any) => unknown,
    className: string,
    child: ReactNode,
    schema: ZodSchema
}

export interface StatsType {
    id: number;
    title: string;
    value: number | undefined;
    icon: string;
    color: string;
}
  
export interface Stats {
    companies: number
    documents: number
    users: number
    documents_size: number
}

export interface Company {
    id: string
    name: string
    is_premium: boolean
    status: string
    owner: Owner
}
  
export interface Owner {
    id: string
    first_name: string
    email: string
    last_name: string
}