/** * An implementation of a Perspective Virtual Server for DuckDB. * * This import is optional, and so must be imported manually from either * `@perspective-dev/client/dist/esm/virtual_servers/duckdb.js` or * `@perspective-dev/client/src/ts/virtual_servers/duckdb.ts`, it is not * exported from the package root `@perspective-dev/client` * * @module */ import type * as perspective from "@perspective-dev/client"; import type { ColumnType } from "@perspective-dev/client/dist/esm/ts-rs/ColumnType.d.ts"; import type { ViewConfig } from "@perspective-dev/client/dist/esm/ts-rs/ViewConfig.d.ts"; import type { ViewWindow } from "@perspective-dev/client/dist/esm/ts-rs/ViewWindow.d.ts"; import type * as duckdb from "@duckdb/duckdb-wasm"; /** * An implementation of Perspective's Virtual Server for `@duckdb/duckdb-wasm`. */ export declare class DuckDBHandler implements perspective.VirtualServerHandler { private db; private sqlBuilder; constructor(db: duckdb.AsyncDuckDBConnection, mod?: typeof perspective); getFeatures(): { group_by: boolean; split_by: boolean; sort: boolean; expressions: boolean; group_rollup_mode: string[]; filter_ops: { integer: string[]; float: string[]; string: string[]; boolean: string[]; date: string[]; datetime: string[]; }; aggregates: { integer: string[]; float: string[]; string: string[]; boolean: string[]; date: string[]; datetime: string[]; }; }; getHostedTables(): Promise; tableSchema(tableId: string, config?: ViewConfig): Promise>; viewColumnSize(viewId: string, config: ViewConfig): Promise; tableSize(tableId: string): Promise; tableMakeView(tableId: string, viewId: string, config: ViewConfig): Promise; tableValidateExpression(tableId: string, expression: string): Promise; viewDelete(viewId: string): Promise; viewGetMinMax(viewId: string, columnName: string, config: ViewConfig): Promise<{ min: {} | null; max: {} | null; }>; viewGetData(viewId: string, config: ViewConfig, schema: Record, viewport: ViewWindow, dataSlice: perspective.VirtualDataSlice): Promise; }