type IApiFn = string | ((...arg: any[]) => Promise<any>);
export declare const useEditableTable: ({ addApi, editApi, deleteApi, onApiCompleted, }: {
    addApi?: IApiFn;
    editApi?: IApiFn;
    deleteApi?: IApiFn;
    onApiCompleted?: () => void;
}) => {
    table: import('vue').Ref<{
        $: import('vue').ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            transparent: boolean;
            hideNoData: boolean;
            freeze: boolean;
            pageSize: number;
            customQuery: Record<string, unknown>;
            isLoading: boolean;
            createActions: import('../npm-exports').ITableAction[] | boolean;
            virtualScroll: boolean;
            exactRowCount: boolean;
            isRowClickable: boolean;
            persistentSelection: boolean;
            disableActions: boolean;
            entityTypeClassName: string;
            dynamicColumnsEndpoint: string | ((query?: unknown) => Promise<import('../services/api/api.models').IApiPayload<import('../npm-exports').IColumnDefinitionContainer[]>>);
            defaultColumn: Partial<import('../npm-exports').IColumnOption>;
            columnsOrder: string[];
            sortType: import('../npm-exports').SORT_TYPE;
            isMultiSortEvent: import('../components/ActindoDataTable/models/table').IIsMultiSortEvent;
            gridId: string;
            channels: import('../services/api/DataHub/Scopes').ITenantAttributeScope[] | boolean;
            languages: import('../services/api/DataHub/Languages').ITenantAttributeLanguage[] | boolean;
            hideGlobalSearch: boolean;
            hideFilters: boolean;
            hideColumnCustomization: boolean;
            rowIdName: string;
            rowHeight: string;
            minRowHeight: string;
            hidePagination: boolean;
            tableActions: import('../npm-exports').ITableAction[];
            hideRemove: boolean;
            rowSelection: import('../npm-exports').ROW_SELECTION;
            hideNoDataTitle: boolean;
            hideNoDataDescription: boolean;
            hideNoDataComment: boolean;
            getDetailsApi: string | boolean | ((query: {
                id: number | string;
            }) => Promise<object>);
            forceDetailsFetch: boolean;
            routable: string | boolean;
            routableId: string;
            detailsTarget: string;
            tableName: string;
            hasSplitView: boolean;
            refreshText: string;
            pageSizes: boolean | number[];
            canReorderHeaders: boolean;
            lockedProperty: string;
            modalDetails: boolean;
        }> & Omit<{
            readonly data: string | import('../services/api/api.models').IDataFetcher<object> | object[];
            readonly transparent: boolean;
            readonly hideNoData: boolean;
            readonly freeze: boolean;
            readonly pageSize: number;
            readonly isLoading: boolean;
            readonly createActions: import('../npm-exports').ITableAction[] | boolean;
            readonly columns: import('../npm-exports').IColumnOption[];
            readonly virtualScroll: boolean;
            readonly exactRowCount: boolean;
            readonly isRowClickable: boolean;
            readonly persistentSelection: boolean;
            readonly disableActions: boolean;
            readonly entityTypeClassName: string;
            readonly defaultColumn: Partial<import('../npm-exports').IColumnOption>;
            readonly sortType: import('../npm-exports').SORT_TYPE;
            readonly channels: import('../services/api/DataHub/Scopes').ITenantAttributeScope[] | boolean;
            readonly languages: import('../services/api/DataHub/Languages').ITenantAttributeLanguage[] | boolean;
            readonly hideGlobalSearch: boolean;
            readonly hideFilters: boolean;
            readonly hideColumnCustomization: boolean;
            readonly rowIdName: string;
            readonly rowHeight: string;
            readonly minRowHeight: string;
            readonly hidePagination: boolean;
            readonly tableActions: import('../npm-exports').ITableAction[];
            readonly hideRemove: boolean;
            readonly rowSelection: import('../npm-exports').ROW_SELECTION;
            readonly hideNoDataTitle: boolean;
            readonly hideNoDataDescription: boolean;
            readonly hideNoDataComment: boolean;
            readonly getDetailsApi: string | boolean | ((query: {
                id: number | string;
            }) => Promise<object>);
            readonly forceDetailsFetch: boolean;
            readonly routable: string | boolean;
            readonly routableId: string;
            readonly detailsTarget: string;
            readonly hasSplitView: boolean;
            readonly pageSizes: boolean | number[];
            readonly canReorderHeaders: boolean;
            readonly modalDetails: boolean;
            readonly readonly?: boolean;
            readonly customQuery?: Record<string, unknown>;
            readonly canRemove?: boolean;
            readonly dynamicColumnsEndpoint?: string | ((query?: unknown) => Promise<import('../services/api/api.models').IApiPayload<import('../npm-exports').IColumnDefinitionContainer[]>>);
            readonly columnsOrder?: string[];
            readonly isMultiSortEvent?: import('../components/ActindoDataTable/models/table').IIsMultiSortEvent;
            readonly gridId?: string;
            readonly minRowCount?: number;
            readonly tableName?: string;
            readonly refreshText?: string;
            readonly lockedProperty?: string;
            readonly onAction?: (eventName: string, selectedRows: Record<string, any>[]) => any;
            readonly onCreate?: (eventName: string) => any;
            readonly "onUpdate:data"?: (newRows: object[]) => any;
            readonly onRefresh?: () => any;
            readonly onRecalculate?: (query: import('../services/api/api.models').IDataTableQuery) => any;
            readonly "onClicked-row"?: (selectedRow: Record<string, any>) => any;
            readonly "onDbl-clicked-row"?: (selectedRow: Record<string, any>) => any;
            readonly "onUpdate-width"?: (width: number, header: import('../npm-exports').Column<Record<string, any>>) => any;
            readonly onDetail?: (isVisible: boolean) => any;
        } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "transparent" | "hideNoData" | "freeze" | "pageSize" | "customQuery" | "isLoading" | "createActions" | "virtualScroll" | "exactRowCount" | "isRowClickable" | "persistentSelection" | "disableActions" | "entityTypeClassName" | "dynamicColumnsEndpoint" | "defaultColumn" | "columnsOrder" | "sortType" | "isMultiSortEvent" | "gridId" | "channels" | "languages" | "hideGlobalSearch" | "hideFilters" | "hideColumnCustomization" | "rowIdName" | "rowHeight" | "minRowHeight" | "hidePagination" | "tableActions" | "hideRemove" | "rowSelection" | "hideNoDataTitle" | "hideNoDataDescription" | "hideNoDataComment" | "getDetailsApi" | "forceDetailsFetch" | "routable" | "routableId" | "detailsTarget" | "tableName" | "hasSplitView" | "refreshText" | "pageSizes" | "canReorderHeaders" | "lockedProperty" | "modalDetails">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import('vue').Slot<any>;
        }>;
        $root: import('vue').ComponentPublicInstance | null;
        $parent: import('vue').ComponentPublicInstance | null;
        $host: Element | null;
        $emit: ((event: "action", eventName: string, selectedRows: Record<string, any>[]) => void) & ((event: "create", eventName: string) => void) & ((event: "update:data", newRows: object[]) => void) & ((event: "refresh") => void) & ((event: "recalculate", query: import('../services/api/api.models').IDataTableQuery) => void) & ((event: "clicked-row", selectedRow: Record<string, any>) => void) & ((event: "dbl-clicked-row", selectedRow: Record<string, any>) => void) & ((event: "update-width", width: number, header: import('../npm-exports').Column<Record<string, any>>) => void) & ((event: "detail", isVisible: boolean) => void);
        $el: any;
        $options: import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
            data: {
                type: import('vue').PropType<string | import('../services/api/api.models').IDataFetcher<object> | object[]>;
                required: true;
            };
            readonly: {
                type: import('vue').PropType<boolean>;
            };
            transparent: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            hideNoData: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            freeze: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            pageSize: {
                type: import('vue').PropType<number>;
                default: number;
            };
            customQuery: {
                type: import('vue').PropType<Record<string, unknown>>;
                default: any;
            };
            isLoading: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            createActions: {
                type: import('vue').PropType<boolean | import('../npm-exports').ITableAction[]>;
                default: boolean;
            };
            columns: {
                type: import('vue').PropType<import('../npm-exports').IColumnOption<Record<string, any>>[]>;
                required: true;
            };
            virtualScroll: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            exactRowCount: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            canRemove: {
                type: import('vue').PropType<boolean>;
            };
            isRowClickable: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            persistentSelection: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            disableActions: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            entityTypeClassName: {
                type: import('vue').PropType<string>;
                default: string;
            };
            dynamicColumnsEndpoint: {
                type: import('vue').PropType<string | ((query?: unknown) => Promise<import('../services/api/api.models').IApiPayload<import('../npm-exports').IColumnDefinitionContainer[]>>)>;
                default: any;
            };
            defaultColumn: {
                type: import('vue').PropType<Partial<import('../npm-exports').IColumnOption<Record<string, any>>>>;
                default: () => {};
            };
            columnsOrder: {
                type: import('vue').PropType<string[]>;
                default: any;
            };
            sortType: {
                type: import('vue').PropType<import('../npm-exports').SORT_TYPE>;
                default: import('../npm-exports').SORT_TYPE;
            };
            isMultiSortEvent: {
                type: import('vue').PropType<import('../components/ActindoDataTable/models/table').IIsMultiSortEvent>;
                default: any;
            };
            gridId: {
                type: import('vue').PropType<string>;
                default: any;
            };
            channels: {
                type: import('vue').PropType<boolean | import('../services/api/DataHub/Scopes').ITenantAttributeScope[]>;
                default: boolean;
            };
            languages: {
                type: import('vue').PropType<boolean | import('../services/api/DataHub/Languages').ITenantAttributeLanguage[]>;
                default: boolean;
            };
            hideGlobalSearch: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            hideFilters: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            hideColumnCustomization: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            rowIdName: {
                type: import('vue').PropType<string>;
                default: string;
            };
            rowHeight: {
                type: import('vue').PropType<string>;
                default: string;
            };
            minRowHeight: {
                type: import('vue').PropType<string>;
                default: string;
            };
            hidePagination: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            minRowCount: {
                type: import('vue').PropType<number>;
            };
            tableActions: {
                type: import('vue').PropType<import('../npm-exports').ITableAction[]>;
                default: () => any[];
            };
            hideRemove: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            rowSelection: {
                type: import('vue').PropType<import('../npm-exports').ROW_SELECTION>;
                default: import('../npm-exports').ROW_SELECTION;
            };
            hideNoDataTitle: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            hideNoDataDescription: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            hideNoDataComment: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            getDetailsApi: {
                type: import('vue').PropType<string | boolean | ((query: {
                    id: number | string;
                }) => Promise<object>)>;
                default: boolean;
            };
            forceDetailsFetch: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            routable: {
                type: import('vue').PropType<string | boolean>;
                default: boolean;
            };
            routableId: {
                type: import('vue').PropType<string>;
                default: string;
            };
            detailsTarget: {
                type: import('vue').PropType<string>;
                default: string;
            };
            tableName: {
                type: import('vue').PropType<string>;
                default: any;
            };
            hasSplitView: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            refreshText: {
                type: import('vue').PropType<string>;
                default: any;
            };
            pageSizes: {
                type: import('vue').PropType<boolean | number[]>;
                default: () => number[];
            };
            canReorderHeaders: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            lockedProperty: {
                type: import('vue').PropType<string>;
                default: any;
            };
            modalDetails: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
        }>> & Readonly<{
            onAction?: (eventName: string, selectedRows: Record<string, any>[]) => any;
            onCreate?: (eventName: string) => any;
            "onUpdate:data"?: (newRows: object[]) => any;
            onRefresh?: () => any;
            onRecalculate?: (query: import('../services/api/api.models').IDataTableQuery) => any;
            "onClicked-row"?: (selectedRow: Record<string, any>) => any;
            "onDbl-clicked-row"?: (selectedRow: Record<string, any>) => any;
            "onUpdate-width"?: (width: number, header: import('../npm-exports').Column<Record<string, any>>) => any;
            onDetail?: (isVisible: boolean) => any;
        }>, {
            table: import('../npm-exports').ITable;
            reloadTable: () => void;
            clearSelection: () => void;
            prepareDataRequestPayload: () => object;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
            create: (eventName: string) => void;
            action: (eventName: string, selectedRows: Record<string, any>[]) => void;
            "clicked-row": (selectedRow: Record<string, any>) => void;
            "dbl-clicked-row": (selectedRow: Record<string, any>) => void;
            detail: (isVisible: boolean) => void;
            "update-width": (width: number, header: import('../npm-exports').Column<Record<string, any>>) => void;
            "update:data": (newRows: object[]) => void;
            refresh: () => void;
            recalculate: (query: import('../services/api/api.models').IDataTableQuery) => void;
        }, string, {
            transparent: boolean;
            hideNoData: boolean;
            freeze: boolean;
            pageSize: number;
            customQuery: Record<string, unknown>;
            isLoading: boolean;
            createActions: import('../npm-exports').ITableAction[] | boolean;
            virtualScroll: boolean;
            exactRowCount: boolean;
            isRowClickable: boolean;
            persistentSelection: boolean;
            disableActions: boolean;
            entityTypeClassName: string;
            dynamicColumnsEndpoint: string | ((query?: unknown) => Promise<import('../services/api/api.models').IApiPayload<import('../npm-exports').IColumnDefinitionContainer[]>>);
            defaultColumn: Partial<import('../npm-exports').IColumnOption>;
            columnsOrder: string[];
            sortType: import('../npm-exports').SORT_TYPE;
            isMultiSortEvent: import('../components/ActindoDataTable/models/table').IIsMultiSortEvent;
            gridId: string;
            channels: import('../services/api/DataHub/Scopes').ITenantAttributeScope[] | boolean;
            languages: import('../services/api/DataHub/Languages').ITenantAttributeLanguage[] | boolean;
            hideGlobalSearch: boolean;
            hideFilters: boolean;
            hideColumnCustomization: boolean;
            rowIdName: string;
            rowHeight: string;
            minRowHeight: string;
            hidePagination: boolean;
            tableActions: import('../npm-exports').ITableAction[];
            hideRemove: boolean;
            rowSelection: import('../npm-exports').ROW_SELECTION;
            hideNoDataTitle: boolean;
            hideNoDataDescription: boolean;
            hideNoDataComment: boolean;
            getDetailsApi: string | boolean | ((query: {
                id: number | string;
            }) => Promise<object>);
            forceDetailsFetch: boolean;
            routable: string | boolean;
            routableId: string;
            detailsTarget: string;
            tableName: string;
            hasSplitView: boolean;
            refreshText: string;
            pageSizes: boolean | number[];
            canReorderHeaders: boolean;
            lockedProperty: string;
            modalDetails: boolean;
        }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
            renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import('vue').nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
    } & Readonly<{
        transparent: boolean;
        hideNoData: boolean;
        freeze: boolean;
        pageSize: number;
        customQuery: Record<string, unknown>;
        isLoading: boolean;
        createActions: import('../npm-exports').ITableAction[] | boolean;
        virtualScroll: boolean;
        exactRowCount: boolean;
        isRowClickable: boolean;
        persistentSelection: boolean;
        disableActions: boolean;
        entityTypeClassName: string;
        dynamicColumnsEndpoint: string | ((query?: unknown) => Promise<import('../services/api/api.models').IApiPayload<import('../npm-exports').IColumnDefinitionContainer[]>>);
        defaultColumn: Partial<import('../npm-exports').IColumnOption>;
        columnsOrder: string[];
        sortType: import('../npm-exports').SORT_TYPE;
        isMultiSortEvent: import('../components/ActindoDataTable/models/table').IIsMultiSortEvent;
        gridId: string;
        channels: import('../services/api/DataHub/Scopes').ITenantAttributeScope[] | boolean;
        languages: import('../services/api/DataHub/Languages').ITenantAttributeLanguage[] | boolean;
        hideGlobalSearch: boolean;
        hideFilters: boolean;
        hideColumnCustomization: boolean;
        rowIdName: string;
        rowHeight: string;
        minRowHeight: string;
        hidePagination: boolean;
        tableActions: import('../npm-exports').ITableAction[];
        hideRemove: boolean;
        rowSelection: import('../npm-exports').ROW_SELECTION;
        hideNoDataTitle: boolean;
        hideNoDataDescription: boolean;
        hideNoDataComment: boolean;
        getDetailsApi: string | boolean | ((query: {
            id: number | string;
        }) => Promise<object>);
        forceDetailsFetch: boolean;
        routable: string | boolean;
        routableId: string;
        detailsTarget: string;
        tableName: string;
        hasSplitView: boolean;
        refreshText: string;
        pageSizes: boolean | number[];
        canReorderHeaders: boolean;
        lockedProperty: string;
        modalDetails: boolean;
    }> & Omit<Readonly<import('vue').ExtractPropTypes<{
        data: {
            type: import('vue').PropType<string | import('../services/api/api.models').IDataFetcher<object> | object[]>;
            required: true;
        };
        readonly: {
            type: import('vue').PropType<boolean>;
        };
        transparent: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        hideNoData: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        freeze: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        pageSize: {
            type: import('vue').PropType<number>;
            default: number;
        };
        customQuery: {
            type: import('vue').PropType<Record<string, unknown>>;
            default: any;
        };
        isLoading: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        createActions: {
            type: import('vue').PropType<boolean | import('../npm-exports').ITableAction[]>;
            default: boolean;
        };
        columns: {
            type: import('vue').PropType<import('../npm-exports').IColumnOption<Record<string, any>>[]>;
            required: true;
        };
        virtualScroll: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        exactRowCount: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        canRemove: {
            type: import('vue').PropType<boolean>;
        };
        isRowClickable: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        persistentSelection: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        disableActions: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        entityTypeClassName: {
            type: import('vue').PropType<string>;
            default: string;
        };
        dynamicColumnsEndpoint: {
            type: import('vue').PropType<string | ((query?: unknown) => Promise<import('../services/api/api.models').IApiPayload<import('../npm-exports').IColumnDefinitionContainer[]>>)>;
            default: any;
        };
        defaultColumn: {
            type: import('vue').PropType<Partial<import('../npm-exports').IColumnOption<Record<string, any>>>>;
            default: () => {};
        };
        columnsOrder: {
            type: import('vue').PropType<string[]>;
            default: any;
        };
        sortType: {
            type: import('vue').PropType<import('../npm-exports').SORT_TYPE>;
            default: import('../npm-exports').SORT_TYPE;
        };
        isMultiSortEvent: {
            type: import('vue').PropType<import('../components/ActindoDataTable/models/table').IIsMultiSortEvent>;
            default: any;
        };
        gridId: {
            type: import('vue').PropType<string>;
            default: any;
        };
        channels: {
            type: import('vue').PropType<boolean | import('../services/api/DataHub/Scopes').ITenantAttributeScope[]>;
            default: boolean;
        };
        languages: {
            type: import('vue').PropType<boolean | import('../services/api/DataHub/Languages').ITenantAttributeLanguage[]>;
            default: boolean;
        };
        hideGlobalSearch: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        hideFilters: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        hideColumnCustomization: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        rowIdName: {
            type: import('vue').PropType<string>;
            default: string;
        };
        rowHeight: {
            type: import('vue').PropType<string>;
            default: string;
        };
        minRowHeight: {
            type: import('vue').PropType<string>;
            default: string;
        };
        hidePagination: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        minRowCount: {
            type: import('vue').PropType<number>;
        };
        tableActions: {
            type: import('vue').PropType<import('../npm-exports').ITableAction[]>;
            default: () => any[];
        };
        hideRemove: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        rowSelection: {
            type: import('vue').PropType<import('../npm-exports').ROW_SELECTION>;
            default: import('../npm-exports').ROW_SELECTION;
        };
        hideNoDataTitle: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        hideNoDataDescription: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        hideNoDataComment: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        getDetailsApi: {
            type: import('vue').PropType<string | boolean | ((query: {
                id: number | string;
            }) => Promise<object>)>;
            default: boolean;
        };
        forceDetailsFetch: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        routable: {
            type: import('vue').PropType<string | boolean>;
            default: boolean;
        };
        routableId: {
            type: import('vue').PropType<string>;
            default: string;
        };
        detailsTarget: {
            type: import('vue').PropType<string>;
            default: string;
        };
        tableName: {
            type: import('vue').PropType<string>;
            default: any;
        };
        hasSplitView: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        refreshText: {
            type: import('vue').PropType<string>;
            default: any;
        };
        pageSizes: {
            type: import('vue').PropType<boolean | number[]>;
            default: () => number[];
        };
        canReorderHeaders: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        lockedProperty: {
            type: import('vue').PropType<string>;
            default: any;
        };
        modalDetails: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
    }>> & Readonly<{
        onAction?: (eventName: string, selectedRows: Record<string, any>[]) => any;
        onCreate?: (eventName: string) => any;
        "onUpdate:data"?: (newRows: object[]) => any;
        onRefresh?: () => any;
        onRecalculate?: (query: import('../services/api/api.models').IDataTableQuery) => any;
        "onClicked-row"?: (selectedRow: Record<string, any>) => any;
        "onDbl-clicked-row"?: (selectedRow: Record<string, any>) => any;
        "onUpdate-width"?: (width: number, header: import('../npm-exports').Column<Record<string, any>>) => any;
        onDetail?: (isVisible: boolean) => any;
    }>, "table" | "reloadTable" | "clearSelection" | "prepareDataRequestPayload" | ("transparent" | "hideNoData" | "freeze" | "pageSize" | "customQuery" | "isLoading" | "createActions" | "virtualScroll" | "exactRowCount" | "isRowClickable" | "persistentSelection" | "disableActions" | "entityTypeClassName" | "dynamicColumnsEndpoint" | "defaultColumn" | "columnsOrder" | "sortType" | "isMultiSortEvent" | "gridId" | "channels" | "languages" | "hideGlobalSearch" | "hideFilters" | "hideColumnCustomization" | "rowIdName" | "rowHeight" | "minRowHeight" | "hidePagination" | "tableActions" | "hideRemove" | "rowSelection" | "hideNoDataTitle" | "hideNoDataDescription" | "hideNoDataComment" | "getDetailsApi" | "forceDetailsFetch" | "routable" | "routableId" | "detailsTarget" | "tableName" | "hasSplitView" | "refreshText" | "pageSizes" | "canReorderHeaders" | "lockedProperty" | "modalDetails")> & import('vue').ShallowUnwrapRef<{
        table: import('../npm-exports').ITable;
        reloadTable: () => void;
        clearSelection: () => void;
        prepareDataRequestPayload: () => object;
    }> & {} & import('@vue/runtime-core').ComponentCustomProperties & {} & {
        $slots: Readonly<{
            [slotName: `header-${string}`]: (props: {
                name: string;
                column: import('../npm-exports').Column;
                headerValue: string;
            }) => void;
            [slotName: `cell-${string}`]: (props: {
                row: object;
                rowIndex: number;
                cell: import('../npm-exports').Column;
                cellValue: string;
            }) => void;
            "split-details"?: (props: {
                rowId: number | string;
                row: object;
            }) => void;
            "split-row"?: (props: {
                rowIndex: number;
                row: object;
                isSelected: boolean;
            }) => void;
            "split-title"?: (props: {
                rowId: number | string;
                row: object;
            }) => void;
            "split-actions"?: (props: {
                table: import('../npm-exports').ITable;
                disabled: boolean;
                row: object;
            }) => void;
            filters?: (props: {
                table: import('../npm-exports').ITable;
                disabled: boolean;
            }) => void;
            actionButtons?: (props: {
                table: import('../npm-exports').ITable;
                disabled: boolean;
            }) => void;
            globalActions?: (props: {
                table: import('../npm-exports').ITable;
                disabled: boolean;
            }) => void;
            extraActions?: () => void;
            rowDisabled?: () => void;
            details?: (props: {
                rowId: number | string;
                row: object;
                close: (reload?: boolean) => void;
                loading: boolean;
            }) => void;
            modals?: () => void;
            "no-data-title"?: () => void;
            "no-data-description"?: () => void;
            "no-data-comment"?: () => void;
            row?: (props: {
                colspan: number;
                headers: import('../npm-exports').Column[];
                rowIndex: number;
                row: object;
                rowSelection: import('../npm-exports').ROW_SELECTION;
                isAllSelected: boolean;
                isSelected: boolean;
                singleSelection: (value: unknown) => void;
                changeSelection: (value: unknown) => void;
            }) => void;
        }> & {
            [slotName: `header-${string}`]: (props: {
                name: string;
                column: import('../npm-exports').Column;
                headerValue: string;
            }) => void;
            [slotName: `cell-${string}`]: (props: {
                row: object;
                rowIndex: number;
                cell: import('../npm-exports').Column;
                cellValue: string;
            }) => void;
            "split-details"?: (props: {
                rowId: number | string;
                row: object;
            }) => void;
            "split-row"?: (props: {
                rowIndex: number;
                row: object;
                isSelected: boolean;
            }) => void;
            "split-title"?: (props: {
                rowId: number | string;
                row: object;
            }) => void;
            "split-actions"?: (props: {
                table: import('../npm-exports').ITable;
                disabled: boolean;
                row: object;
            }) => void;
            filters?: (props: {
                table: import('../npm-exports').ITable;
                disabled: boolean;
            }) => void;
            actionButtons?: (props: {
                table: import('../npm-exports').ITable;
                disabled: boolean;
            }) => void;
            globalActions?: (props: {
                table: import('../npm-exports').ITable;
                disabled: boolean;
            }) => void;
            extraActions?: () => void;
            rowDisabled?: () => void;
            details?: (props: {
                rowId: number | string;
                row: object;
                close: (reload?: boolean) => void;
                loading: boolean;
            }) => void;
            modals?: () => void;
            "no-data-title"?: () => void;
            "no-data-description"?: () => void;
            "no-data-comment"?: () => void;
            row?: (props: {
                colspan: number;
                headers: import('../npm-exports').Column[];
                rowIndex: number;
                row: object;
                rowSelection: import('../npm-exports').ROW_SELECTION;
                isAllSelected: boolean;
                isSelected: boolean;
                singleSelection: (value: unknown) => void;
                changeSelection: (value: unknown) => void;
            }) => void;
        };
    }, {
        $: import('vue').ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            transparent: boolean;
            hideNoData: boolean;
            freeze: boolean;
            pageSize: number;
            customQuery: Record<string, unknown>;
            isLoading: boolean;
            createActions: import('../npm-exports').ITableAction[] | boolean;
            virtualScroll: boolean;
            exactRowCount: boolean;
            isRowClickable: boolean;
            persistentSelection: boolean;
            disableActions: boolean;
            entityTypeClassName: string;
            dynamicColumnsEndpoint: string | ((query?: unknown) => Promise<import('../services/api/api.models').IApiPayload<import('../npm-exports').IColumnDefinitionContainer[]>>);
            defaultColumn: Partial<import('../npm-exports').IColumnOption>;
            columnsOrder: string[];
            sortType: import('../npm-exports').SORT_TYPE;
            isMultiSortEvent: import('../components/ActindoDataTable/models/table').IIsMultiSortEvent;
            gridId: string;
            channels: import('../services/api/DataHub/Scopes').ITenantAttributeScope[] | boolean;
            languages: import('../services/api/DataHub/Languages').ITenantAttributeLanguage[] | boolean;
            hideGlobalSearch: boolean;
            hideFilters: boolean;
            hideColumnCustomization: boolean;
            rowIdName: string;
            rowHeight: string;
            minRowHeight: string;
            hidePagination: boolean;
            tableActions: import('../npm-exports').ITableAction[];
            hideRemove: boolean;
            rowSelection: import('../npm-exports').ROW_SELECTION;
            hideNoDataTitle: boolean;
            hideNoDataDescription: boolean;
            hideNoDataComment: boolean;
            getDetailsApi: string | boolean | ((query: {
                id: number | string;
            }) => Promise<object>);
            forceDetailsFetch: boolean;
            routable: string | boolean;
            routableId: string;
            detailsTarget: string;
            tableName: string;
            hasSplitView: boolean;
            refreshText: string;
            pageSizes: boolean | number[];
            canReorderHeaders: boolean;
            lockedProperty: string;
            modalDetails: boolean;
        }> & Omit<{
            readonly data: string | import('../services/api/api.models').IDataFetcher<object> | object[];
            readonly transparent: boolean;
            readonly hideNoData: boolean;
            readonly freeze: boolean;
            readonly pageSize: number;
            readonly isLoading: boolean;
            readonly createActions: import('../npm-exports').ITableAction[] | boolean;
            readonly columns: import('../npm-exports').IColumnOption[];
            readonly virtualScroll: boolean;
            readonly exactRowCount: boolean;
            readonly isRowClickable: boolean;
            readonly persistentSelection: boolean;
            readonly disableActions: boolean;
            readonly entityTypeClassName: string;
            readonly defaultColumn: Partial<import('../npm-exports').IColumnOption>;
            readonly sortType: import('../npm-exports').SORT_TYPE;
            readonly channels: import('../services/api/DataHub/Scopes').ITenantAttributeScope[] | boolean;
            readonly languages: import('../services/api/DataHub/Languages').ITenantAttributeLanguage[] | boolean;
            readonly hideGlobalSearch: boolean;
            readonly hideFilters: boolean;
            readonly hideColumnCustomization: boolean;
            readonly rowIdName: string;
            readonly rowHeight: string;
            readonly minRowHeight: string;
            readonly hidePagination: boolean;
            readonly tableActions: import('../npm-exports').ITableAction[];
            readonly hideRemove: boolean;
            readonly rowSelection: import('../npm-exports').ROW_SELECTION;
            readonly hideNoDataTitle: boolean;
            readonly hideNoDataDescription: boolean;
            readonly hideNoDataComment: boolean;
            readonly getDetailsApi: string | boolean | ((query: {
                id: number | string;
            }) => Promise<object>);
            readonly forceDetailsFetch: boolean;
            readonly routable: string | boolean;
            readonly routableId: string;
            readonly detailsTarget: string;
            readonly hasSplitView: boolean;
            readonly pageSizes: boolean | number[];
            readonly canReorderHeaders: boolean;
            readonly modalDetails: boolean;
            readonly readonly?: boolean;
            readonly customQuery?: Record<string, unknown>;
            readonly canRemove?: boolean;
            readonly dynamicColumnsEndpoint?: string | ((query?: unknown) => Promise<import('../services/api/api.models').IApiPayload<import('../npm-exports').IColumnDefinitionContainer[]>>);
            readonly columnsOrder?: string[];
            readonly isMultiSortEvent?: import('../components/ActindoDataTable/models/table').IIsMultiSortEvent;
            readonly gridId?: string;
            readonly minRowCount?: number;
            readonly tableName?: string;
            readonly refreshText?: string;
            readonly lockedProperty?: string;
            readonly onAction?: (eventName: string, selectedRows: Record<string, any>[]) => any;
            readonly onCreate?: (eventName: string) => any;
            readonly "onUpdate:data"?: (newRows: object[]) => any;
            readonly onRefresh?: () => any;
            readonly onRecalculate?: (query: import('../services/api/api.models').IDataTableQuery) => any;
            readonly "onClicked-row"?: (selectedRow: Record<string, any>) => any;
            readonly "onDbl-clicked-row"?: (selectedRow: Record<string, any>) => any;
            readonly "onUpdate-width"?: (width: number, header: import('../npm-exports').Column<Record<string, any>>) => any;
            readonly onDetail?: (isVisible: boolean) => any;
        } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "transparent" | "hideNoData" | "freeze" | "pageSize" | "customQuery" | "isLoading" | "createActions" | "virtualScroll" | "exactRowCount" | "isRowClickable" | "persistentSelection" | "disableActions" | "entityTypeClassName" | "dynamicColumnsEndpoint" | "defaultColumn" | "columnsOrder" | "sortType" | "isMultiSortEvent" | "gridId" | "channels" | "languages" | "hideGlobalSearch" | "hideFilters" | "hideColumnCustomization" | "rowIdName" | "rowHeight" | "minRowHeight" | "hidePagination" | "tableActions" | "hideRemove" | "rowSelection" | "hideNoDataTitle" | "hideNoDataDescription" | "hideNoDataComment" | "getDetailsApi" | "forceDetailsFetch" | "routable" | "routableId" | "detailsTarget" | "tableName" | "hasSplitView" | "refreshText" | "pageSizes" | "canReorderHeaders" | "lockedProperty" | "modalDetails">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import('vue').Slot<any>;
        }>;
        $root: import('vue').ComponentPublicInstance | null;
        $parent: import('vue').ComponentPublicInstance | null;
        $host: Element | null;
        $emit: ((event: "action", eventName: string, selectedRows: Record<string, any>[]) => void) & ((event: "create", eventName: string) => void) & ((event: "update:data", newRows: object[]) => void) & ((event: "refresh") => void) & ((event: "recalculate", query: import('../services/api/api.models').IDataTableQuery) => void) & ((event: "clicked-row", selectedRow: Record<string, any>) => void) & ((event: "dbl-clicked-row", selectedRow: Record<string, any>) => void) & ((event: "update-width", width: number, header: import('../npm-exports').Column<Record<string, any>>) => void) & ((event: "detail", isVisible: boolean) => void);
        $el: any;
        $options: import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
            data: {
                type: import('vue').PropType<string | import('../services/api/api.models').IDataFetcher<object> | object[]>;
                required: true;
            };
            readonly: {
                type: import('vue').PropType<boolean>;
            };
            transparent: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            hideNoData: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            freeze: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            pageSize: {
                type: import('vue').PropType<number>;
                default: number;
            };
            customQuery: {
                type: import('vue').PropType<Record<string, unknown>>;
                default: any;
            };
            isLoading: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            createActions: {
                type: import('vue').PropType<boolean | import('../npm-exports').ITableAction[]>;
                default: boolean;
            };
            columns: {
                type: import('vue').PropType<import('../npm-exports').IColumnOption<Record<string, any>>[]>;
                required: true;
            };
            virtualScroll: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            exactRowCount: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            canRemove: {
                type: import('vue').PropType<boolean>;
            };
            isRowClickable: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            persistentSelection: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            disableActions: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            entityTypeClassName: {
                type: import('vue').PropType<string>;
                default: string;
            };
            dynamicColumnsEndpoint: {
                type: import('vue').PropType<string | ((query?: unknown) => Promise<import('../services/api/api.models').IApiPayload<import('../npm-exports').IColumnDefinitionContainer[]>>)>;
                default: any;
            };
            defaultColumn: {
                type: import('vue').PropType<Partial<import('../npm-exports').IColumnOption<Record<string, any>>>>;
                default: () => {};
            };
            columnsOrder: {
                type: import('vue').PropType<string[]>;
                default: any;
            };
            sortType: {
                type: import('vue').PropType<import('../npm-exports').SORT_TYPE>;
                default: import('../npm-exports').SORT_TYPE;
            };
            isMultiSortEvent: {
                type: import('vue').PropType<import('../components/ActindoDataTable/models/table').IIsMultiSortEvent>;
                default: any;
            };
            gridId: {
                type: import('vue').PropType<string>;
                default: any;
            };
            channels: {
                type: import('vue').PropType<boolean | import('../services/api/DataHub/Scopes').ITenantAttributeScope[]>;
                default: boolean;
            };
            languages: {
                type: import('vue').PropType<boolean | import('../services/api/DataHub/Languages').ITenantAttributeLanguage[]>;
                default: boolean;
            };
            hideGlobalSearch: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            hideFilters: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            hideColumnCustomization: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            rowIdName: {
                type: import('vue').PropType<string>;
                default: string;
            };
            rowHeight: {
                type: import('vue').PropType<string>;
                default: string;
            };
            minRowHeight: {
                type: import('vue').PropType<string>;
                default: string;
            };
            hidePagination: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            minRowCount: {
                type: import('vue').PropType<number>;
            };
            tableActions: {
                type: import('vue').PropType<import('../npm-exports').ITableAction[]>;
                default: () => any[];
            };
            hideRemove: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            rowSelection: {
                type: import('vue').PropType<import('../npm-exports').ROW_SELECTION>;
                default: import('../npm-exports').ROW_SELECTION;
            };
            hideNoDataTitle: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            hideNoDataDescription: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            hideNoDataComment: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            getDetailsApi: {
                type: import('vue').PropType<string | boolean | ((query: {
                    id: number | string;
                }) => Promise<object>)>;
                default: boolean;
            };
            forceDetailsFetch: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            routable: {
                type: import('vue').PropType<string | boolean>;
                default: boolean;
            };
            routableId: {
                type: import('vue').PropType<string>;
                default: string;
            };
            detailsTarget: {
                type: import('vue').PropType<string>;
                default: string;
            };
            tableName: {
                type: import('vue').PropType<string>;
                default: any;
            };
            hasSplitView: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            refreshText: {
                type: import('vue').PropType<string>;
                default: any;
            };
            pageSizes: {
                type: import('vue').PropType<boolean | number[]>;
                default: () => number[];
            };
            canReorderHeaders: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
            lockedProperty: {
                type: import('vue').PropType<string>;
                default: any;
            };
            modalDetails: {
                type: import('vue').PropType<boolean>;
                default: boolean;
            };
        }>> & Readonly<{
            onAction?: (eventName: string, selectedRows: Record<string, any>[]) => any;
            onCreate?: (eventName: string) => any;
            "onUpdate:data"?: (newRows: object[]) => any;
            onRefresh?: () => any;
            onRecalculate?: (query: import('../services/api/api.models').IDataTableQuery) => any;
            "onClicked-row"?: (selectedRow: Record<string, any>) => any;
            "onDbl-clicked-row"?: (selectedRow: Record<string, any>) => any;
            "onUpdate-width"?: (width: number, header: import('../npm-exports').Column<Record<string, any>>) => any;
            onDetail?: (isVisible: boolean) => any;
        }>, {
            table: import('../npm-exports').ITable;
            reloadTable: () => void;
            clearSelection: () => void;
            prepareDataRequestPayload: () => object;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
            create: (eventName: string) => void;
            action: (eventName: string, selectedRows: Record<string, any>[]) => void;
            "clicked-row": (selectedRow: Record<string, any>) => void;
            "dbl-clicked-row": (selectedRow: Record<string, any>) => void;
            detail: (isVisible: boolean) => void;
            "update-width": (width: number, header: import('../npm-exports').Column<Record<string, any>>) => void;
            "update:data": (newRows: object[]) => void;
            refresh: () => void;
            recalculate: (query: import('../services/api/api.models').IDataTableQuery) => void;
        }, string, {
            transparent: boolean;
            hideNoData: boolean;
            freeze: boolean;
            pageSize: number;
            customQuery: Record<string, unknown>;
            isLoading: boolean;
            createActions: import('../npm-exports').ITableAction[] | boolean;
            virtualScroll: boolean;
            exactRowCount: boolean;
            isRowClickable: boolean;
            persistentSelection: boolean;
            disableActions: boolean;
            entityTypeClassName: string;
            dynamicColumnsEndpoint: string | ((query?: unknown) => Promise<import('../services/api/api.models').IApiPayload<import('../npm-exports').IColumnDefinitionContainer[]>>);
            defaultColumn: Partial<import('../npm-exports').IColumnOption>;
            columnsOrder: string[];
            sortType: import('../npm-exports').SORT_TYPE;
            isMultiSortEvent: import('../components/ActindoDataTable/models/table').IIsMultiSortEvent;
            gridId: string;
            channels: import('../services/api/DataHub/Scopes').ITenantAttributeScope[] | boolean;
            languages: import('../services/api/DataHub/Languages').ITenantAttributeLanguage[] | boolean;
            hideGlobalSearch: boolean;
            hideFilters: boolean;
            hideColumnCustomization: boolean;
            rowIdName: string;
            rowHeight: string;
            minRowHeight: string;
            hidePagination: boolean;
            tableActions: import('../npm-exports').ITableAction[];
            hideRemove: boolean;
            rowSelection: import('../npm-exports').ROW_SELECTION;
            hideNoDataTitle: boolean;
            hideNoDataDescription: boolean;
            hideNoDataComment: boolean;
            getDetailsApi: string | boolean | ((query: {
                id: number | string;
            }) => Promise<object>);
            forceDetailsFetch: boolean;
            routable: string | boolean;
            routableId: string;
            detailsTarget: string;
            tableName: string;
            hasSplitView: boolean;
            refreshText: string;
            pageSizes: boolean | number[];
            canReorderHeaders: boolean;
            lockedProperty: string;
            modalDetails: boolean;
        }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
            renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import('vue').nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
    } & Readonly<{
        transparent: boolean;
        hideNoData: boolean;
        freeze: boolean;
        pageSize: number;
        customQuery: Record<string, unknown>;
        isLoading: boolean;
        createActions: import('../npm-exports').ITableAction[] | boolean;
        virtualScroll: boolean;
        exactRowCount: boolean;
        isRowClickable: boolean;
        persistentSelection: boolean;
        disableActions: boolean;
        entityTypeClassName: string;
        dynamicColumnsEndpoint: string | ((query?: unknown) => Promise<import('../services/api/api.models').IApiPayload<import('../npm-exports').IColumnDefinitionContainer[]>>);
        defaultColumn: Partial<import('../npm-exports').IColumnOption>;
        columnsOrder: string[];
        sortType: import('../npm-exports').SORT_TYPE;
        isMultiSortEvent: import('../components/ActindoDataTable/models/table').IIsMultiSortEvent;
        gridId: string;
        channels: import('../services/api/DataHub/Scopes').ITenantAttributeScope[] | boolean;
        languages: import('../services/api/DataHub/Languages').ITenantAttributeLanguage[] | boolean;
        hideGlobalSearch: boolean;
        hideFilters: boolean;
        hideColumnCustomization: boolean;
        rowIdName: string;
        rowHeight: string;
        minRowHeight: string;
        hidePagination: boolean;
        tableActions: import('../npm-exports').ITableAction[];
        hideRemove: boolean;
        rowSelection: import('../npm-exports').ROW_SELECTION;
        hideNoDataTitle: boolean;
        hideNoDataDescription: boolean;
        hideNoDataComment: boolean;
        getDetailsApi: string | boolean | ((query: {
            id: number | string;
        }) => Promise<object>);
        forceDetailsFetch: boolean;
        routable: string | boolean;
        routableId: string;
        detailsTarget: string;
        tableName: string;
        hasSplitView: boolean;
        refreshText: string;
        pageSizes: boolean | number[];
        canReorderHeaders: boolean;
        lockedProperty: string;
        modalDetails: boolean;
    }> & Omit<Readonly<import('vue').ExtractPropTypes<{
        data: {
            type: import('vue').PropType<string | import('../services/api/api.models').IDataFetcher<object> | object[]>;
            required: true;
        };
        readonly: {
            type: import('vue').PropType<boolean>;
        };
        transparent: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        hideNoData: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        freeze: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        pageSize: {
            type: import('vue').PropType<number>;
            default: number;
        };
        customQuery: {
            type: import('vue').PropType<Record<string, unknown>>;
            default: any;
        };
        isLoading: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        createActions: {
            type: import('vue').PropType<boolean | import('../npm-exports').ITableAction[]>;
            default: boolean;
        };
        columns: {
            type: import('vue').PropType<import('../npm-exports').IColumnOption<Record<string, any>>[]>;
            required: true;
        };
        virtualScroll: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        exactRowCount: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        canRemove: {
            type: import('vue').PropType<boolean>;
        };
        isRowClickable: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        persistentSelection: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        disableActions: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        entityTypeClassName: {
            type: import('vue').PropType<string>;
            default: string;
        };
        dynamicColumnsEndpoint: {
            type: import('vue').PropType<string | ((query?: unknown) => Promise<import('../services/api/api.models').IApiPayload<import('../npm-exports').IColumnDefinitionContainer[]>>)>;
            default: any;
        };
        defaultColumn: {
            type: import('vue').PropType<Partial<import('../npm-exports').IColumnOption<Record<string, any>>>>;
            default: () => {};
        };
        columnsOrder: {
            type: import('vue').PropType<string[]>;
            default: any;
        };
        sortType: {
            type: import('vue').PropType<import('../npm-exports').SORT_TYPE>;
            default: import('../npm-exports').SORT_TYPE;
        };
        isMultiSortEvent: {
            type: import('vue').PropType<import('../components/ActindoDataTable/models/table').IIsMultiSortEvent>;
            default: any;
        };
        gridId: {
            type: import('vue').PropType<string>;
            default: any;
        };
        channels: {
            type: import('vue').PropType<boolean | import('../services/api/DataHub/Scopes').ITenantAttributeScope[]>;
            default: boolean;
        };
        languages: {
            type: import('vue').PropType<boolean | import('../services/api/DataHub/Languages').ITenantAttributeLanguage[]>;
            default: boolean;
        };
        hideGlobalSearch: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        hideFilters: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        hideColumnCustomization: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        rowIdName: {
            type: import('vue').PropType<string>;
            default: string;
        };
        rowHeight: {
            type: import('vue').PropType<string>;
            default: string;
        };
        minRowHeight: {
            type: import('vue').PropType<string>;
            default: string;
        };
        hidePagination: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        minRowCount: {
            type: import('vue').PropType<number>;
        };
        tableActions: {
            type: import('vue').PropType<import('../npm-exports').ITableAction[]>;
            default: () => any[];
        };
        hideRemove: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        rowSelection: {
            type: import('vue').PropType<import('../npm-exports').ROW_SELECTION>;
            default: import('../npm-exports').ROW_SELECTION;
        };
        hideNoDataTitle: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        hideNoDataDescription: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        hideNoDataComment: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        getDetailsApi: {
            type: import('vue').PropType<string | boolean | ((query: {
                id: number | string;
            }) => Promise<object>)>;
            default: boolean;
        };
        forceDetailsFetch: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        routable: {
            type: import('vue').PropType<string | boolean>;
            default: boolean;
        };
        routableId: {
            type: import('vue').PropType<string>;
            default: string;
        };
        detailsTarget: {
            type: import('vue').PropType<string>;
            default: string;
        };
        tableName: {
            type: import('vue').PropType<string>;
            default: any;
        };
        hasSplitView: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        refreshText: {
            type: import('vue').PropType<string>;
            default: any;
        };
        pageSizes: {
            type: import('vue').PropType<boolean | number[]>;
            default: () => number[];
        };
        canReorderHeaders: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
        lockedProperty: {
            type: import('vue').PropType<string>;
            default: any;
        };
        modalDetails: {
            type: import('vue').PropType<boolean>;
            default: boolean;
        };
    }>> & Readonly<{
        onAction?: (eventName: string, selectedRows: Record<string, any>[]) => any;
        onCreate?: (eventName: string) => any;
        "onUpdate:data"?: (newRows: object[]) => any;
        onRefresh?: () => any;
        onRecalculate?: (query: import('../services/api/api.models').IDataTableQuery) => any;
        "onClicked-row"?: (selectedRow: Record<string, any>) => any;
        "onDbl-clicked-row"?: (selectedRow: Record<string, any>) => any;
        "onUpdate-width"?: (width: number, header: import('../npm-exports').Column<Record<string, any>>) => any;
        onDetail?: (isVisible: boolean) => any;
    }>, "table" | "reloadTable" | "clearSelection" | "prepareDataRequestPayload" | ("transparent" | "hideNoData" | "freeze" | "pageSize" | "customQuery" | "isLoading" | "createActions" | "virtualScroll" | "exactRowCount" | "isRowClickable" | "persistentSelection" | "disableActions" | "entityTypeClassName" | "dynamicColumnsEndpoint" | "defaultColumn" | "columnsOrder" | "sortType" | "isMultiSortEvent" | "gridId" | "channels" | "languages" | "hideGlobalSearch" | "hideFilters" | "hideColumnCustomization" | "rowIdName" | "rowHeight" | "minRowHeight" | "hidePagination" | "tableActions" | "hideRemove" | "rowSelection" | "hideNoDataTitle" | "hideNoDataDescription" | "hideNoDataComment" | "getDetailsApi" | "forceDetailsFetch" | "routable" | "routableId" | "detailsTarget" | "tableName" | "hasSplitView" | "refreshText" | "pageSizes" | "canReorderHeaders" | "lockedProperty" | "modalDetails")> & import('vue').ShallowUnwrapRef<{
        table: import('../npm-exports').ITable;
        reloadTable: () => void;
        clearSelection: () => void;
        prepareDataRequestPayload: () => object;
    }> & {} & import('@vue/runtime-core').ComponentCustomProperties & {} & {
        $slots: Readonly<{
            [slotName: `header-${string}`]: (props: {
                name: string;
                column: import('../npm-exports').Column;
                headerValue: string;
            }) => void;
            [slotName: `cell-${string}`]: (props: {
                row: object;
                rowIndex: number;
                cell: import('../npm-exports').Column;
                cellValue: string;
            }) => void;
            "split-details"?: (props: {
                rowId: number | string;
                row: object;
            }) => void;
            "split-row"?: (props: {
                rowIndex: number;
                row: object;
                isSelected: boolean;
            }) => void;
            "split-title"?: (props: {
                rowId: number | string;
                row: object;
            }) => void;
            "split-actions"?: (props: {
                table: import('../npm-exports').ITable;
                disabled: boolean;
                row: object;
            }) => void;
            filters?: (props: {
                table: import('../npm-exports').ITable;
                disabled: boolean;
            }) => void;
            actionButtons?: (props: {
                table: import('../npm-exports').ITable;
                disabled: boolean;
            }) => void;
            globalActions?: (props: {
                table: import('../npm-exports').ITable;
                disabled: boolean;
            }) => void;
            extraActions?: () => void;
            rowDisabled?: () => void;
            details?: (props: {
                rowId: number | string;
                row: object;
                close: (reload?: boolean) => void;
                loading: boolean;
            }) => void;
            modals?: () => void;
            "no-data-title"?: () => void;
            "no-data-description"?: () => void;
            "no-data-comment"?: () => void;
            row?: (props: {
                colspan: number;
                headers: import('../npm-exports').Column[];
                rowIndex: number;
                row: object;
                rowSelection: import('../npm-exports').ROW_SELECTION;
                isAllSelected: boolean;
                isSelected: boolean;
                singleSelection: (value: unknown) => void;
                changeSelection: (value: unknown) => void;
            }) => void;
        }> & {
            [slotName: `header-${string}`]: (props: {
                name: string;
                column: import('../npm-exports').Column;
                headerValue: string;
            }) => void;
            [slotName: `cell-${string}`]: (props: {
                row: object;
                rowIndex: number;
                cell: import('../npm-exports').Column;
                cellValue: string;
            }) => void;
            "split-details"?: (props: {
                rowId: number | string;
                row: object;
            }) => void;
            "split-row"?: (props: {
                rowIndex: number;
                row: object;
                isSelected: boolean;
            }) => void;
            "split-title"?: (props: {
                rowId: number | string;
                row: object;
            }) => void;
            "split-actions"?: (props: {
                table: import('../npm-exports').ITable;
                disabled: boolean;
                row: object;
            }) => void;
            filters?: (props: {
                table: import('../npm-exports').ITable;
                disabled: boolean;
            }) => void;
            actionButtons?: (props: {
                table: import('../npm-exports').ITable;
                disabled: boolean;
            }) => void;
            globalActions?: (props: {
                table: import('../npm-exports').ITable;
                disabled: boolean;
            }) => void;
            extraActions?: () => void;
            rowDisabled?: () => void;
            details?: (props: {
                rowId: number | string;
                row: object;
                close: (reload?: boolean) => void;
                loading: boolean;
            }) => void;
            modals?: () => void;
            "no-data-title"?: () => void;
            "no-data-description"?: () => void;
            "no-data-comment"?: () => void;
            row?: (props: {
                colspan: number;
                headers: import('../npm-exports').Column[];
                rowIndex: number;
                row: object;
                rowSelection: import('../npm-exports').ROW_SELECTION;
                isAllSelected: boolean;
                isSelected: boolean;
                singleSelection: (value: unknown) => void;
                changeSelection: (value: unknown) => void;
            }) => void;
        };
    }>;
    showError: import('vue').Ref<boolean, boolean>;
    error: import('vue').Ref<string | number, string | number>;
    showChangeDialog: import('vue').Ref<boolean, boolean>;
    isEditMode: import('vue').Ref<boolean, boolean>;
    isLoading: import('vue').Ref<boolean, boolean>;
    isBatchLoading: import('vue').Ref<boolean, boolean>;
    apiCall: <T = any>(api: IApiFn, ...arg: any[]) => Promise<T | undefined>;
    onAddRow: <T = any>(...arg: any[]) => Promise<T | undefined>;
    onEditRow: <T = any>(...arg: any[]) => Promise<T | undefined>;
    onDeleteRows: <T = any>(...arg: any[]) => Promise<T | undefined>;
    batchApiCalls: <T>(api: IApiFn, args: any[][], iterate?: boolean) => Promise<Awaited<T>[]>;
    reloadTable: () => void;
};
export {};
