/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2026 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { PropType } from 'vue';
import { DataRowContext } from '../getRowContents';
import { StickyGroupItem } from '../hooks/useStickyGroups';
/**
 * Represents the StickyGroupTable handle.
 *
 * @hidden
 */
export interface StickyTableHandle {
    /**
     * Sets the width of the sticky table element.
     */
    setWidth: (width: number) => void;
    /**
     * Sets the horizontal scroll position of the sticky container.
     */
    setScrollLeft: (scrollLeft: number) => void;
}
/**
 * @hidden
 */
export interface StickyGroupTableProps {
    size?: string;
    items?: any[];
    cols: any[];
    colGroups?: any;
    dataRowContext: DataRowContext;
    position: 'top' | 'bottom';
    isStackedMode?: boolean;
    groupLevelCount?: number;
    rowHeight?: number;
}
/**
 * @hidden
 */
export declare const StickyGroupTable: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    size: StringConstructor;
    items: ArrayConstructor;
    cols: ArrayConstructor;
    dataRowContext: {
        type: PropType<DataRowContext>;
        required: true;
    };
    position: {
        type: PropType<"bottom" | "top">;
        required: true;
    };
    isStackedMode: BooleanConstructor;
    groupLevelCount: NumberConstructor;
    rowHeight: NumberConstructor;
}>, {}, {}, {
    isTop(): boolean;
    stickyItems(): StickyGroupItem[];
    hasContent(): boolean;
    containerClassName(): string;
    tableClassName(): string;
}, {
    setWidth(width: number): void;
    setScrollLeft(scrollLeft: number): void;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    size: StringConstructor;
    items: ArrayConstructor;
    cols: ArrayConstructor;
    dataRowContext: {
        type: PropType<DataRowContext>;
        required: true;
    };
    position: {
        type: PropType<"bottom" | "top">;
        required: true;
    };
    isStackedMode: BooleanConstructor;
    groupLevelCount: NumberConstructor;
    rowHeight: NumberConstructor;
}>> & Readonly<{}>, {
    isStackedMode: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
