/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2026 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { ComponentType } from 'react';
import { GridRowProps } from './GridRowProps.js';
/**
 * The properties of the default Grid Row.
 */
export interface GridCustomRowProps extends GridRowProps {
    /**
     * The props and attributes that are applied to the tr element by default.
     */
    trProps?: React.HTMLAttributes<HTMLTableRowElement> | null;
    /**
     * The default children of the table row.
     */
    children?: React.ReactNode | React.ReactNode[];
}
/**
 * The settings of the rows prop options.
 */
export interface GridRowsSettings {
    /**
     * Custom component for rendering the group header row.
     *
     * @example
     * ```tsx
     * import { MyGroupHeaderRow } from './MyGroupHeaderRow.js';
     * <Grid rows={{ groupHeader: MyGroupHeaderRow }} />
     * ```
     */
    groupHeader?: ComponentType<GridCustomRowProps>;
    /**
     * Custom component for rendering the data row.
     *
     * @example
     * ```tsx
     * import { MyDataRow } from './MyDataRow.js';
     * <Grid rows={{ data: MyDataRow }} />
     * ```
     */
    data?: ComponentType<GridCustomRowProps>;
    /**
     * Custom component for rendering the group footer row.
     *
     * @example
     * ```tsx
     * import { MyGroupFooterRow } from './MyGroupFooterRow.js';
     * <Grid rows={{ groupFooter: MyGroupFooterRow }} />
     * ```
     */
    groupFooter?: ComponentType<GridCustomRowProps>;
    /**
     * Custom component for rendering pinned data rows.
     * Falls back to `rows.data` (then default) when omitted.
     *
     * @example
     * ```tsx
     * import { MyPinnedRow } from './MyPinnedRow.js';
     * <Grid rows={{ pinnedData: MyPinnedRow }} />
     * ```
     */
    pinnedData?: ComponentType<GridCustomRowProps>;
}
