import { default as React } from 'react';
import { TablePageResultSelectRecord, TablePageResultSelectDTO, RelationalDatabaseSchemaTable, TablePageConfig, TablePageConfigColumn } from '@kottster/common';
export interface TableColumn extends TablePageConfigColumn {
    /** Key of the relationship in `linked` config */
    relationshipKey?: string;
}
interface TableRowProps {
    columns: TableColumn[];
    tablePageConfig: TablePageConfig;
    record: TablePageResultSelectRecord;
    selected?: boolean;
    checkboxSelected?: boolean;
    canOpen?: boolean;
    canOpenLinkedRecord?: boolean;
    canUpdate?: boolean;
    canDelete?: boolean;
    canSelect?: boolean;
    canSelectCheckbox?: boolean;
    onClickOpen?: () => void;
    onClickUpdate?: () => void;
    onClickDelete?: () => void;
    onClickSelect?: () => void;
    onClickCheckboxSelect?: (selected: boolean) => void;
    onClickViewLinkedRecords?: (columnIndex: number) => void;
    onClickViewLinkedRecord?: (columnIndex: number, primaryKeyValue: string) => void;
    tableSchema?: RelationalDatabaseSchemaTable;
    selectData: TablePageResultSelectDTO;
    relationships: TablePageConfig['relationships'];
    actionsColumnWithShadow?: boolean;
    columnWidths?: Record<string, number>;
    isLastRecord?: boolean;
    onUpdate: (data: Record<string, any>) => void;
}
export declare function TableRow({ columns, tablePageConfig, record, selected, checkboxSelected, canOpen, canUpdate, canDelete, canSelect, canSelectCheckbox, canOpenLinkedRecord, onClickOpen, onClickUpdate, onClickDelete, onClickSelect, onClickCheckboxSelect, onClickViewLinkedRecords, onClickViewLinkedRecord, tableSchema, relationships, selectData, actionsColumnWithShadow, columnWidths, isLastRecord, onUpdate, }: TableRowProps): React.JSX.Element;
export {};
