/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2026 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { Component, HTMLAttributes } from 'vue';
import { GridRowProps } from './GridRowProps';
/**
 * 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?: HTMLAttributes | null;
}
/**
 * The settings of the rows prop options.
 */
export interface GridRowsSettings {
    /**
     * Custom component for rendering group header rows.
     * Falls back to the default when omitted.
     *
     * @example
     * ```vue
     * <Grid :rows="{ groupHeader: 'MyGroupHeader' }" />
     * ```
     */
    groupHeader?: any;
    /**
     * Custom component for rendering data rows.
     * Falls back to the default when omitted.
     *
     * @example
     * ```vue
     * <Grid :rows="{ data: 'MyRow' }" />
     * ```
     */
    data?: any;
    /**
     * Custom component for rendering group footer rows.
     * Falls back to `rows.groupFooter` (then default) when omitted.
     *
     * @example
     * ```vue
     * <Grid :rows="{ groupFooter: 'MyGroupFooter' }" />
     * ```
     */
    groupFooter?: any;
    /**
     * Custom component for rendering pinned data rows.
     * Falls back to `rows.data` (then default) when omitted.
     *
     * @example
     * ```vue
     * <Grid :rows="{ pinnedData: 'MyPinnedRow' }" />
     * ```
     */
    pinnedData?: Component<GridCustomRowProps> | string;
}
