import { ComponentConfig } from "@/types/report";

export interface QueryResult {
  fields: string[];
  rows: Record<string, unknown>[];
}

export interface BaseRendererProps {
  component: ComponentConfig;
  getQueryResult: (queryId: string) => QueryResult | null;
}

export interface TextRendererProps extends BaseRendererProps {
  displayValue: string;
}

export interface TableRendererProps extends BaseRendererProps {}

export interface ImageRendererProps {
  component: ComponentConfig;
}

export interface DividerRendererProps {
  component: ComponentConfig;
}

export interface SignatureRendererProps {
  component: ComponentConfig;
}

export interface StampRendererProps {
  component: ComponentConfig;
}

export interface PageNumberRendererProps {
  component: ComponentConfig;
  currentPageId: string | null;
  layoutConfig: { pages: Array<{ page_id: string; page_order: number }> };
}

export interface CardRendererProps extends BaseRendererProps {}

export interface CalculationRendererProps extends BaseRendererProps {}

export interface BarcodeRendererProps extends BaseRendererProps {}

export interface CheckboxRendererProps extends BaseRendererProps {}

