/**
 * Representa a estrutura de dados de uma categoria financeira no sistema.
 */
export interface FinancialCategory {
    id: string;
    name: string;
    description?: string;
    code?: string;
    type: FinancialCategoryType;
    parent_category_id?: string;
    is_active: boolean;
    color?: string;
    icon?: string;
    budget_limit?: number;
    currency?: string;
    created_at?: string;
    updated_at?: string;
    subcategories?: FinancialCategory[];
    
    // Campos para documentação/anexos
    photoIds?: string[];
    documentIds?: string[];
    
    // Metadados
    created_by?: string;
    updated_by?: string;
    notes?: string;
}

/**
 * Tipos de categoria financeira
 */
export enum FinancialCategoryType {
    INCOME = 'income',        // Receita
    EXPENSE = 'expense',      // Despesa
    INVESTMENT = 'investment', // Investimento
    TRANSFER = 'transfer'     // Transferência
}

/**
 * Status da categoria financeira
 */
export interface FinancialCategoryStatus {
    Active: string;
    Inactive: string;
    Archived: string;
    UnderReview: string;
} 