
import React, { CSSProperties, Ref } from "react";
import * as react_jsx_runtime23 from "react/jsx-runtime";
import { ColDef as ColDef$1, ColGroupDef as ColGroupDef$1, GetRowIdParams, GridReadyEvent as GridReadyEvent$1 } from "ag-grid-community";
import { AgGridReactProps } from "ag-grid-react";

//#region src/components/data/ScreenshotDataGrid.d.ts

/**
 * Handle type for accessing AG Grid API and DOM element (for screenshots)
 */
interface DataGridHandle {
  api: GridReadyEvent$1["api"] | null;
  /** DOM element for screenshot functionality */
  element: HTMLElement | null;
}
/**
 * Generic row type for data grids
 */
interface DataGridRow {
  __rowKey?: string | number;
  [key: string]: unknown;
}
/**
 * Props for ScreenshotDataGrid component
 *
 * Supports both AG Grid style props (columnDefs/rowData) and
 * legacy react-data-grid style props (columns/rows) for backward compatibility
 */
interface ScreenshotDataGridProps<TData = DataGridRow> extends Omit<AgGridReactProps<TData>, "theme" | "rowClass"> {
  /** Container style */
  style?: CSSProperties;
  /** Additional CSS class for container */
  className?: string;
  /** Empty state renderer (legacy) */
  renderers?: {
    noRowsFallback?: React.ReactNode;
  };
  /** Legacy: Column definitions (maps to columnDefs) */
  columns?: (ColDef$1<TData> | ColGroupDef$1<TData>)[];
  /** Legacy: Row data (maps to rowData) */
  rows?: TData[];
  /** Legacy: Default column options (maps to defaultColDef) */
  defaultColumnOptions?: ColDef$1<TData>;
  /** Optional CSS class to apply to rows (e.g., for PII tracking) */
  rowClassName?: string;
  /** Optional CSS class to apply to container (e.g., for PII tracking) */
  containerClassName?: string;
}
/**
 * Empty rows renderer component
 */
interface EmptyRowsRendererProps {
  emptyMessage?: string;
}
declare function EmptyRowsRenderer({
  emptyMessage
}: EmptyRowsRendererProps): react_jsx_runtime23.JSX.Element;
declare const ScreenshotDataGrid: <TData = DataGridRow>(props: ScreenshotDataGridProps<TData> & {
  ref?: Ref<DataGridHandle>;
}) => React.ReactNode;
//#endregion
export { EmptyRowsRenderer as a, GridReadyEvent$1 as c, DataGridRow as i, ScreenshotDataGrid as l, ColGroupDef$1 as n, EmptyRowsRendererProps as o, DataGridHandle as r, GetRowIdParams as s, ColDef$1 as t, ScreenshotDataGridProps as u };
//# sourceMappingURL=ScreenshotDataGrid-BFA3jIej.d.ts.map