import { PropsWithChildren } from 'react';
import { DraggableProvided } from 'react-beautiful-dnd';
import { Data } from '../../../types/data';
import { ActionData } from '../../Actions';
import { DynamicListColumn } from '../DynamicDataList.model';
export interface DynamicListRowProps<T extends Data> {
    /** The column definition */
    columns: DynamicListColumn<T>[];
    /** List data */
    data: T;
    /** Spacing between columns */
    columnSizes: string;
    /** Header row height */
    columnGap?: string;
    /** List row height */
    rowHeight?: string;
    /** Size of action button and checkbox */
    actionSize?: string;
    /** Horizontal alignment of text */
    horizontalTextAlign?: 'left' | 'right' | 'center';
    /** Vertical alignment of text */
    verticalTextAlign?: 'start' | 'center' | 'end';
    /** If set to true, column text overflow will be wrapped to a new line. Otherwise, it will be truncated with an ellipsis (default: false) */
    textWrap?: boolean;
    /** If set to true, the remove action button will be rendered (default: undefined) */
    allowRemove?: boolean;
    /** If set to true, editable fields will be highlighted and row click events will be fired (default: false) */
    allowEditing?: boolean;
    /** Property name that is used to determine data position (default: undefined) */
    positionKey?: keyof T;
    /** If set to true, this component can be dragged (default: undefined) */
    allowDragging?: boolean;
    /** Determines if there is currently an on-going drag event (default: undefined) */
    dragging?: boolean;
    /** Whether or not the DDL is disabled (default: false) */
    disabled?: boolean;
    /** If set to true, the position column will be shown (default: false) */
    showPositionColumn?: boolean;
    /** If set to true, the action column will be shown (default: false) */
    showActionColumn?: boolean;
    /** Emits when the position input has changed. Row data and the new position is supplied */
    onPositionInputChanged?: (currenPosition: number, newPosition: number) => void;
    onRowClicked?: (data: T) => void;
    /** Emits when the action button is clicked. Data is supplied as a parameter */
    onActionClicked?: (data: T) => void;
    /** CSS Class name for additional styles */
    className?: string;
    /** CSS Class name provider for each row. Allows row style to be determined by data */
    rowClassNameProvider?: (data: T) => string;
    /** Provide inline actions which are available through '...' context menu */
    inlineMenuActions?: (data: T) => ActionData[];
    provided?: DraggableProvided;
}
export declare const DynamicListRow: <T extends Data>({ columns, data, columnSizes, columnGap, rowHeight, actionSize, horizontalTextAlign, verticalTextAlign, allowRemove, positionKey, allowDragging, disabled, provided, onPositionInputChanged, onRowClicked, onActionClicked, className, rowClassNameProvider, inlineMenuActions, dragging, showPositionColumn, showActionColumn, allowEditing, textWrap, }: PropsWithChildren<DynamicListRowProps<T>>) => JSX.Element;
//# sourceMappingURL=DynamicListRow.d.ts.map