import type { TableSettings } from './types';
import Component from './TableComponent.vue';
import type * as Types from './types';
import type { RawTableSettings } from './types';
import type { ComputedRef } from 'vue';
import type { MaybeRef } from '../../types';
export { AsyncData } from './adapters/AsyncData';
type AnyRef<T> = MaybeRef<T> | ComputedRef<T>;
export declare function settings<D extends Types.DataRow>(tableSettings: TableSettings<D>): TableSettings;
export declare function factory<const S extends TableSettings>(tableSettings: S): import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>;
export { Component };
export { Types };
/** * Adapters ***/
export declare function rawDataSettings<D extends Types.DataRow>(rows: D[], rawSettings: Types.RawTableSettings<D>): TableSettings;
export declare function useRawData<D extends Types.DataRow>(rowsRef: AnyRef<D[]>, raw: MaybeRef<RawTableSettings<D>>): ComputedRef<Readonly<{
    columns: Types.ColumnSpecSettings<string, unknown>[];
    dataSource: Types.DataSource<Types.DataRow>;
    gap?: number;
    height: number;
    addColumn?: () => Promise<void>;
    controlColumn?: boolean;
    onSelectedRows?: Types.SelectedRowsOperation<Types.DataRow>[] | undefined;
    onSelectedColumns?: Types.SelectedColumnsOperation<Types.DataRow>[] | undefined;
    onUpdatedRow?: ((row: Types.Row<Types.DataRow>) => void) | undefined;
}>>;
/**
 * @deprecated
 * @param rows
 * @param raw
 * @returns
 */
export declare function useRawDataComponent<D extends Types.DataRow>(rowsRef: AnyRef<D[]>, raw: MaybeRef<RawTableSettings<D>>): ComputedRef<import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>>;
