import type { Client, RequestOptions } from "./client.js"; import { AppendStreamBuilder, type AppendFailurePolicy, type AppendStreamOptions } from "./append-stream.js"; import type { AppendRowsResult, DataType } from "./protocol.js"; import { Schema } from "./result.js"; export interface TableOptions { database?: string; schema?: string; } export interface TableColumn { name: string; dataType: Exclude; comment: string | null; } export interface TableDescription { database: string; schema: string; name: string; columns: TableColumn[]; partitionBy: string[]; clusterBy: string[]; distinctOn: { on: string[]; by: string[]; }; dataRetentionDays: number | null; comment: string | null; } export declare class Table { private readonly client; private readonly tableName; private databaseName?; private schemaName?; constructor(client: Client, tableName: string, options?: TableOptions); /** @deprecated Pass `database` to `Client.table()` instead. */ withDatabase(database: string): this; /** @deprecated Pass `schema` to `Client.table()` instead. */ withSchema(schema: string): this; identifier(): string; drop(options?: RequestOptions): Promise; /** Appends newline-delimited JSON rows to this table. */ append(ndjson: string, options?: RequestOptions): Promise; /** Builds an asynchronous, concurrent NDJSON append stream for this table. */ appendStream(): AppendStreamBuilder<"stop">; appendStream(options: undefined): AppendStreamBuilder<"stop">; /** Builds an append stream with an explicit batch-failure policy. */ appendStream(options: AppendStreamOptions): AppendStreamBuilder; appendStream(options: AppendStreamOptions | undefined): AppendStreamBuilder; /** Returns this table's complete catalog metadata with JS-style field names. */ describe(options?: RequestOptions): Promise; /** @deprecated Use `describe()` when possible. */ tableSchema(options?: RequestOptions): Promise; private fetchResource; } //# sourceMappingURL=table.d.ts.map