import { ClassValue } from 'clsx'; export interface ImageProps { /** Specifies the path to the image */ src: string; /** Specifies an alternate text for an image */ alt: string; /** Specifies the width of an image */ width?: number; /** Specifies the height of an image */ height?: number; } export interface LinkProps { /** Link title */ label: string; /** The path or URL to navigate to. */ href: string; /** This control specifies where to open the linked document */ openNewTab?: boolean; } export interface PersonProps { image: ImageProps; name: string; about: string; } export declare const blurDataUrl: string; export interface SocialItemProps { icon: React.ReactNode; href: string; } export interface SectionProps { className?: ClassValue; } /** * A union type for server action response. * * This improves the developer experience, we know that if * a server action is successfull then we will have a valid data * object. * * We should not have to check for isSuccess and data. */ interface IServerActionSuccess { isSuccess: true; data: T; message: string; } interface IServerActionFailure { isSuccess: false; data: null; message: string; } export type ServerActionResponse = IServerActionSuccess | IServerActionFailure; export interface TaskData { id: number; name: string; description: string; status: 'backlog' | 'todo' | 'inProgress' | 'done' | 'cancelled'; dateLogged: string; project?: { id: number; name: string; }; } export {};