/**
 * @fileoverview Public barrel for the DataCanvas primitive. Servers import
 * from `@cyanheads/mcp-ts-core/canvas` to interact with `core.canvas` —
 * either via tool handlers (acquire → register → query → export) or directly
 * for advanced lifecycle work.
 *
 * The DuckDB provider is lazy-loaded; pulling this barrel does not pull in
 * `@duckdb/node-api` until {@link DataCanvas.acquire} runs against an active
 * canvas configuration.
 *
 * @module src/services/canvas/index
 */
export { CanvasInstance } from './core/CanvasInstance.js';
export { type AcquireResult, CanvasRegistry, type CanvasRegistryOptions, DEFAULT_CANVAS_REGISTRY_OPTIONS, } from './core/CanvasRegistry.js';
export { createCanvasService } from './core/canvasFactory.js';
export { DataCanvas } from './core/DataCanvas.js';
export type { IDataCanvasProvider } from './core/IDataCanvasProvider.js';
export { inferSchemaFromRows } from './core/schemaSniffer.js';
export { ALLOWED_PLAN_OPERATORS, ALLOWED_STATEMENT_TYPES, assertNoDeniedFunctions, assertNoSystemCatalogs, assertReadOnlyQuery, assertValidIdentifier, CANVAS_IDENTIFIER_REGEX, collectDisallowedOperators, collectPlanViolations, DENIED_TABLE_FUNCTIONS, type DuckdbStatementType, quoteIdentifier, SQL_GATE_REASONS, type SqlGateReason, } from './core/sqlGate.js';
export { DuckdbProvider, type DuckdbProviderOptions, } from './providers/duckdb/DuckdbProvider.js';
export { type SpilloverFitResult, type SpilloverOptions, type SpilloverResult, type SpilloverSpillResult, spillover, } from './spillover.js';
export type { AcquireOptions, CanvasObjectKind, ColumnSchema, ColumnType, DescribeOptions, ExportFormat, ExportOptions, ExportResult, ExportTarget, ImportFromOptions, QueryOptions, QueryResult, RegisterRows, RegisterTableOptions, RegisterTableResult, RegisterViewOptions, RegisterViewResult, TableInfo, } from './types.js';
//# sourceMappingURL=index.d.ts.map