import { PropType } from "vue";
import { Column, OrderBy } from "./types";
type Dialect = unknown;
import { BaseData } from "../types";
import { TupleUnion } from "../utilTypes";
import { CustomMenuItems } from "../context-menu/menu";
import { Options as TabulatorOptions } from "tabulator-tables";
import { Tabulator } from "..";
export declare const props: {
    /** The name of the table. */
    name: {
        type: StringConstructor;
        default: string;
    };
    /** The id for the table component. If provided, the columns' width and visibility
      will be persisted based on this id. */
    tableId: StringConstructor;
    /** The schema of the table. */
    schema: StringConstructor;
    /** The data to render. Represented as a list of objects where the keys are the
      column names. */
    data: {
        type: PropType<BaseData>;
        default: () => any[];
    };
    /** The columns to render. */
    columns: {
        type: PropType<Column[]>;
        default: () => any[];
    };
    /** Whether the table should be focused. */
    hasFocus: BooleanConstructor;
    preventRedraw: {
        type: BooleanConstructor;
        default: boolean;
    };
    /** If this is changed, the table will be redrawn. */
    redrawState: any;
    /** If this is changed, the table will be reinitialized. */
    reinitializeState: any;
    /** Configure the height of the table. */
    height: StringConstructor;
    /** The database dialect. */
    dialect: PropType<Dialect>;
    /** The offset for the row headers. Determines the starting number displayed
      on the left side of rows.  */
    rowHeaderOffset: {
        type: NumberConstructor;
        default: number;
    };
    /** Apply sort orders to the table */
    sorters: {
        type: PropType<Array<OrderBy>>;
        default: () => any[];
    };
    binaryEncoding: {
        type: PropType<"hex" | "base64">;
        default: string;
    };
    cellContextMenuItems: PropType<CustomMenuItems>;
    columnHeaderContextMenuItems: PropType<CustomMenuItems>;
    rowHeaderContextMenuItems: PropType<CustomMenuItems>;
    cornerHeaderContextMenuItems: PropType<CustomMenuItems>;
    /** Customize the tabulator's table options. See https://tabulator.info/docs/6.3/options#table */
    tabulatorOptions: {
        type: PropType<Partial<TabulatorOptions>>;
        default: () => {};
    };
};
export interface ExposedMethods {
    getTabulator(): Tabulator | null;
}
export declare const exposeMethods: TupleUnion<keyof ExposedMethods>;
export {};
