import { type TableInfo } from "./components/schema-tree-sidebar.js";
import { type ColumnInfo, type FilterGroup, type SortOptions } from "./components/table-view.js";
export type { TableInfo } from "./components/schema-tree-sidebar.js";
export type { ColumnInfo, SortOptions, FilterGroup, FilterClause, } from "./components/table-view.js";
export type GetTableRowsOptions = {
    readonly schema?: string;
    readonly limit: number;
    readonly offset: number;
    readonly sort?: SortOptions;
    readonly filters?: FilterGroup;
};
export type TablePage = {
    readonly columns: string[];
    readonly rows: Record<string, unknown>[];
    readonly total: number | null;
};
export interface DbClient {
    readonly kind: string;
    listTables(schema?: string): Promise<string[]>;
    getTableSchema(table: string, schema?: string): Promise<ColumnInfo[]>;
    getTableRows(table: string, options: GetTableRowsOptions): Promise<TablePage>;
}
/** Props for the main DBExplorer component */
export type DBExplorerProps = {
    readonly schema: string;
    readonly getTables: () => Promise<TableInfo[]>;
    readonly getTableRows: (table: string, options: GetTableRowsOptions) => Promise<TablePage>;
    readonly getDefaultSort?: (table: string) => SortOptions | undefined;
    readonly pageSize?: number;
    readonly onImportDb?: (sqlContent: string) => void | Promise<void>;
    readonly onExportDb?: () => void | Promise<void>;
};
export declare function DBExplorer({ schema, getTables, getTableRows, getDefaultSort, pageSize, onImportDb, onExportDb, }: DBExplorerProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=db-explorer.d.ts.map