export type ToolName = 'logframe' | 'funder-rewriter' | 'smart-indicators' | 'theory-of-change';

export interface Session {
  id: string;
  tool: ToolName;
  email: string | null;
  input: Record<string, string>;
  output: string | null;
  is_paid: boolean;
  payment_id: string | null;
  improvements_used: number;
  created_at: string;
  updated_at: string;
}

export interface Lead {
  id: number;
  email: string;
  org_name: string | null;
  tool: string;
  created_at: string;
}

export interface AdminConfig {
  price_amount: string;
  price_currency: string;
  free_tier_enabled: string;
  max_improvements: string;
  openai_model: string;
  lemonsqueezy_variant_id: string;
}

export interface ToolConfig {
  slug: ToolName;
  name: string;
  description: string;
  icon: string;
  fields: FormField[];
}

export interface FormField {
  name: string;
  label: string;
  type: 'text' | 'textarea' | 'select';
  placeholder?: string;
  options?: string[];
  required?: boolean;
}
