/// import { DuckDBModule } from './duckdb_module'; import { UDFFunction } from './udf_function'; /** Helper to decode text */ export declare const decodeText: (input?: BufferSource) => string; /** Copy a buffer */ export declare function failWith(mod: DuckDBModule, msg: string): void; /** Copy a buffer */ export declare function copyBuffer(mod: DuckDBModule, begin: number, length: number): Uint8Array; /** Decode a string */ export declare function readString(mod: DuckDBModule, begin: number, length: number): string; /** The data protocol */ export declare enum DuckDBDataProtocol { BUFFER = 0, NODE_FS = 1, BROWSER_FILEREADER = 2, BROWSER_FSACCESS = 3, HTTP = 4, S3 = 5 } /** File flags for opening files*/ export declare enum FileFlags { FILE_FLAGS_READ = 1, FILE_FLAGS_WRITE = 2, FILE_FLAGS_DIRECT_IO = 4, FILE_FLAGS_FILE_CREATE = 8, FILE_FLAGS_FILE_CREATE_NEW = 16, FILE_FLAGS_APPEND = 32, FILE_FLAGS_PRIVATE = 64, FILE_FLAGS_NULL_IF_NOT_EXISTS = 128, FILE_FLAGS_PARALLEL_ACCESS = 256, FILE_FLAGS_EXCLUSIVE_CREATE = 512, FILE_FLAGS_NULL_IF_EXISTS = 1024 } /** Configuration for the AWS S3 Filesystem */ export interface S3Config { region?: string; endpoint?: string; accessKeyId?: string; secretAccessKey?: string; sessionToken?: string; } /** An info for a file registered with DuckDB */ export interface DuckDBFileInfo { cacheEpoch: number; fileId: number; fileName: string; dataProtocol: DuckDBDataProtocol; dataUrl: string | null; reliableHeadRequests?: boolean; allowFullHttpReads?: boolean; forceFullHttpReads?: boolean; s3Config?: S3Config; } /** Global info for all files registered with DuckDB */ export interface DuckDBGlobalFileInfo { cacheEpoch: number; reliableHeadRequests?: boolean; allowFullHttpReads?: boolean; forceFullHttpReads?: boolean; s3Config?: S3Config; } export interface PreparedDBFileHandle { path: string; handle: any; fromCached: boolean; } /** Call a function with packed response buffer */ export declare function callSRet(mod: DuckDBModule, funcName: string, argTypes: Array, args: Array): [number, number, number]; /** Drop response buffers */ export declare function dropResponseBuffers(mod: DuckDBModule): void; /** The duckdb runtime */ export interface DuckDBRuntime { _files?: Map; _udfFunctions: Map; testPlatformFeature(mod: DuckDBModule, feature: number): boolean; getDefaultDataProtocol(mod: DuckDBModule): number; openFile(mod: DuckDBModule, fileId: number, flags: FileFlags): void; syncFile(mod: DuckDBModule, fileId: number): void; closeFile(mod: DuckDBModule, fileId: number): void; dropFile(mod: DuckDBModule, fileNamePtr: number, fileNameLen: number): void; getLastFileModificationTime(mod: DuckDBModule, fileId: number): number; truncateFile(mod: DuckDBModule, fileId: number, newSize: number): void; readFile(mod: DuckDBModule, fileId: number, buffer: number, bytes: number, location: number): number; writeFile(mod: DuckDBModule, fileId: number, buffer: number, bytes: number, location: number): number; removeDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): void; checkDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean; createDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): void; listDirectoryEntries(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean; glob(mod: DuckDBModule, pathPtr: number, pathLen: number): void; moveFile(mod: DuckDBModule, fromPtr: number, fromLen: number, toPtr: number, toLen: number): void; checkFile(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean; removeFile(mod: DuckDBModule, pathPtr: number, pathLen: number): void; prepareFileHandle?: (path: string, protocol: DuckDBDataProtocol) => Promise; prepareFileHandles?: (path: string[], protocol: DuckDBDataProtocol) => Promise; prepareDBFileHandle?: (path: string, protocol: DuckDBDataProtocol) => Promise; progressUpdate(final: number, percentage: number, iteration: number): void; callScalarUDF(mod: DuckDBModule, response: number, funcId: number, descPtr: number, descSize: number, ptrsPtr: number, ptrsSize: number): void; } export declare const DEFAULT_RUNTIME: DuckDBRuntime;