/**
 * Application-wide type definitions
 * @description TypeScript interfaces and types for the application
 */

export interface User {
    id: string
    email: string
    firstName: string
    lastName: string
    createdAt: string
    updatedAt: string
}

export interface ApiResponse<T> {
    data: T
    message?: string
    success: boolean
}

export interface ApiError {
    message: string
    code: string
    details?: Record<string, unknown>
}

export type LoadingState = 'idle' | 'loading' | 'success' | 'error'

export interface Tool {
    id: string
    name: string
    type: 'API' | 'MCP'
    color: string // Color for the tool name (e.g., '#ff0080' for Slack, '#8fbc24' for GitHub)
}