/* tslint:disable */
/* eslint-disable */
/**
 * Embed a Vega chart and accelerate with VegaFusion
 * @param element - The DOM element to embed the visualization into
 * @param spec - The Vega specification (as string or object)
 * @param config - Optional configuration options
 * @param query_fn - Function to handle server-side query requests.
 *     If not provided, an embedded wasm VegaFusion runtime is created.
 * @returns A ChartHandle instance for the embedded visualization
 */
export function vegaFusionEmbed(element: Element, spec: any, config: any, query_fn: any): Promise<ChartHandle>;
export function getColumnUsage(spec: any): any;
/**
 * Create a function for sending VegaFusion queries to VegaFusion server over gRPC-Web
 * @param client - The gRPC client instance
 * @param hostname - The hostname to connect to
 * @returns A function that can be used to send gRPC messages
 */
export function makeGrpcSendMessageFn(client: any, hostname: string): Function;
/**
 * The `ReadableStreamType` enum.
 *
 * *This API requires the following crate features to be activated: `ReadableStreamType`*
 */
type ReadableStreamType = "bytes";
/**
 * Handle to an embedded VegaFusion chart
 */
export class ChartHandle {
  private constructor();
  free(): void;
  /**
   * Get the Vega-Embed view
   * @returns The Vega-Embed view
   */
  view(): any;
  /**
   * Finalize the chart
   */
  finalize(): void;
  /**
   * Get the client specification
   * @returns The client specification
   */
  clientSpec(): any;
  /**
   * Get the server specification
   * @returns The server specification
   */
  serverSpec(): any;
  /**
   * Get the communication plan
   * @returns The communication plan
   */
  commPlan(): any;
}
export class IntoUnderlyingByteSource {
  private constructor();
  free(): void;
  start(controller: ReadableByteStreamController): void;
  pull(controller: ReadableByteStreamController): Promise<any>;
  cancel(): void;
  readonly type: ReadableStreamType;
  readonly autoAllocateChunkSize: number;
}
export class IntoUnderlyingSink {
  private constructor();
  free(): void;
  write(chunk: any): Promise<any>;
  close(): Promise<any>;
  abort(reason: any): Promise<any>;
}
export class IntoUnderlyingSource {
  private constructor();
  free(): void;
  pull(controller: ReadableStreamDefaultController): Promise<any>;
  cancel(): void;
}
export class WasmGetOptions {
  private constructor();
  free(): void;
}
export class WasmObjectMeta {
  private constructor();
/**
** Return copy of self without private attributes.
*/
  toJSON(): Object;
/**
* Return stringified version of self.
*/
  toString(): string;
  free(): void;
  /**
   * The full path to the object
   */
  location: string;
  /**
   * The last modified time
   */
  last_modified: Date;
  /**
   * The size in bytes of the object
   */
  size: bigint;
  /**
   * The unique identifier for the object
   *
   * <https://datatracker.ietf.org/doc/html/rfc9110#name-etag>
   */
  get e_tag(): string | undefined;
  /**
   * The unique identifier for the object
   *
   * <https://datatracker.ietf.org/doc/html/rfc9110#name-etag>
   */
  set e_tag(value: string | null | undefined);
  /**
   * A version indicator for this object
   */
  get version(): string | undefined;
  /**
   * A version indicator for this object
   */
  set version(value: string | null | undefined);
}
export class WasmObjectStore {
  free(): void;
  constructor(url: string, options?: object | null);
  get(location: string, options?: WasmGetOptions | null): Promise<ReadableStream>;
  list(prefix?: string | null): Promise<ReadableStream>;
}
