import type { DataTableProps } from 'primevue';
import type { VirtualScrollerLazyEvent } from 'primevue/virtualscroller';
import type { WtTableHeader } from './types/WtTable';
interface Props extends DataTableProps {
    /**
     * 'Accepts list of header objects. Draws text depending on "text" property, looks for data values through "value", "show" boolean controls visibility of a column (if undefined, all visible by default). ' Column width is calculated by "width" param. By default, sets 140px. '
     */
    headers?: WtTableHeader[];
    /**
     * 'List of data, represented by table. '
     */
    data?: Array<unknown>;
    /**
     * 'If true, draws sorting arrows and sends sorting events at header click. Draws a sorting arrow by "sort": "asc"/"desc" header value. '
     */
    sortable?: boolean;
    /**
     * 'If true, draws row selection checkboxes. Checkbox toggles data object _isSelected property. It's IMPORTANT to set this property before sending data to table. '
     */
    selectable?: boolean;
    selected?: Array<unknown>;
    /**
     * 'If true, reserves space for 3 icon actions in the last column. Accessible by "actions" slot. '
     */
    gridActions?: boolean;
    /**
     * 'If true, 3 icon actions in the last column have position:sticky and fixed on the right'
     */
    fixedActions?: boolean;
    /**
     * 'If true, displays table without header.'
     */
    headless?: boolean;
    /**
     * 'If true, allows to reorder rows.'
     */
    rowReorder?: boolean;
    /**
     * @author @Oleksandr Palonnyi
     *
     * [WTEL-8629](https://webitel.atlassian.net/browse/WTEL-8629)
     *
     * Unique field name used to identify a row.
     * Required for selection, expansion, and virtual scrolling to work correctly.
     * The value must be stable and unique across all rows.
     */
    dataKey?: string;
    /**
     * 'If true, restrict sprecific row reorder.'
     */
    isRowReorderDisabled?: (row: any) => boolean;
    rowExpansion?: boolean;
    rowClass?: () => string;
    rowStyle?: () => {
        [key: string]: string;
    };
    resizableColumns?: boolean;
    reorderableColumns?: boolean;
    rowExpansionDisabled?: (row: object) => boolean;
    lazy?: boolean;
    onLoading?: (event: VirtualScrollerLazyEvent) => Promise<unknown>;
    loading?: boolean;
    itemSize?: number | undefined;
}
declare var __VLS_71: `header-${string}`, __VLS_72: {
    index: number;
    header: WtTableHeader;
}, __VLS_86: string, __VLS_87: {
    index: any;
    item: any;
}, __VLS_92: `${string}-footer`, __VLS_93: {}, __VLS_102: {}, __VLS_105: {
    index: any;
    item: any;
}, __VLS_108: {
    item: any;
}, __VLS_111: {};
type __VLS_Slots = {} & {
    [K in NonNullable<typeof __VLS_71>]?: (props: typeof __VLS_72) => any;
} & {
    [K in NonNullable<typeof __VLS_86>]?: (props: typeof __VLS_87) => any;
} & {
    [K in NonNullable<typeof __VLS_92>]?: (props: typeof __VLS_93) => any;
} & {
    'actions-header'?: (props: typeof __VLS_102) => any;
} & {
    actions?: (props: typeof __VLS_105) => any;
} & {
    expansion?: (props: typeof __VLS_108) => any;
} & {
    footer?: (props: typeof __VLS_111) => any;
};
declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    sort: (...args: any[]) => void;
    "update:selected": (...args: any[]) => void;
    "reorder:row": (...args: any[]) => void;
    "column-resize": (...args: any[]) => void;
    "column-reorder": (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
    onSort?: (...args: any[]) => any;
    "onUpdate:selected"?: (...args: any[]) => any;
    "onReorder:row"?: (...args: any[]) => any;
    "onColumn-resize"?: (...args: any[]) => any;
    "onColumn-reorder"?: (...args: any[]) => any;
}>, {
    headers: WtTableHeader[];
    data: Array<unknown>;
    sortable: boolean;
    selectable: boolean;
    gridActions: boolean;
    fixedActions: boolean;
    headless: boolean;
    rowReorder: boolean;
    dataKey: string;
    isRowReorderDisabled: (row: any) => boolean;
    rowExpansion: boolean;
    rowClass: () => string;
    rowStyle: () => {
        [key: string]: string;
    };
    resizableColumns: boolean;
    reorderableColumns: boolean;
    rowExpansionDisabled: (row: object) => boolean;
    lazy: boolean;
    itemSize: number | undefined;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
