import type { HTMLPerspectiveViewerPluginElement } from "./plugin";
import type { PerspectiveViewerElement } from "../../dist/wasm/perspective-viewer.js";
import type React from "react";
import type { ViewerConfigUpdate } from "./ts-rs/ViewerConfigUpdate.js";
import type { ViewWindow, ViewConfigUpdate, Filter } from "@perspective-dev/client";
export declare class PerspectiveSelectDetail {
selected: boolean;
row: Record;
column_names?: string[];
removeConfigs: ViewConfigUpdate[];
insertConfigs: ViewConfigUpdate[];
constructor(selected: boolean, row: Record, column_names: string[], removeConfigs: ViewConfigUpdate[], insertConfigs: ViewConfigUpdate[]);
get removeFilters(): Filter[];
get insertFilters(): Filter[];
}
import type { ExportDropDownMenuElement, CopyDropDownMenuElement } from "../../dist/wasm/perspective-viewer.d.ts";
export type HTMLPerspectiveViewerElement = PerspectiveViewerElement & PerspectiveViewerElementExt & HTMLElement;
export interface HTMLPerspectiveViewerExportMenuElement extends HTMLElement, ExportDropDownMenuElement {
}
export interface HTMLPerspectiveViewerCopyMenuElement extends HTMLElement, CopyDropDownMenuElement {
}
export type PerspectiveClickEventDetail = {
config: ViewerConfigUpdate;
row: Record;
column_names: Array>;
};
export type PerspectiveSelectEventDetail = {
view_window: ViewWindow;
};
type ReactPerspectiveViewerAttributes = React.HTMLAttributes;
type JsxPerspectiveViewerElement = {
class?: string;
} & React.DetailedHTMLProps, HTMLPerspectiveViewerElement>;
declare global {
namespace JSX {
interface IntrinsicElements {
"perspective-viewer": JsxPerspectiveViewerElement;
}
}
}
declare module "react/jsx-runtime" {
namespace JSX {
interface IntrinsicElements {
"perspective-viewer": JsxPerspectiveViewerElement;
}
}
}
declare module "react/jsx-dev-runtime" {
namespace JSX {
interface IntrinsicElements {
"perspective-viewer": JsxPerspectiveViewerElement;
}
}
}
declare module "react" {
namespace JSX {
interface IntrinsicElements {
"perspective-viewer": JsxPerspectiveViewerElement;
}
}
}
declare global {
interface Document {
createElement(tagName: "perspective-viewer", options?: ElementCreationOptions): HTMLPerspectiveViewerElement;
createElement(tagName: "perspective-viewer-plugin", options?: ElementCreationOptions): HTMLPerspectiveViewerPluginElement;
querySelector(selectors: string): E | null;
querySelector(selectors: "perspective-viewer"): HTMLPerspectiveViewerElement | null;
}
interface CustomElementRegistry {
get(tagName: "perspective-viewer"): typeof PerspectiveViewerElement & PerspectiveViewerElementExt & typeof HTMLElement;
get(tagName: "perspective-viewer-plugin"): typeof HTMLPerspectiveViewerPluginElement;
}
}
export interface PerspectiveViewerElementExt {
/**
* Register a new plugin via its custom element name. This method is called
* automatically as a side effect of importing a plugin module, so this
* method should only typically be called by plugin authors.
*
* @category Plugin
* @param name The `name` of the custom element to register, as supplied
* to the `customElements.define(name)` method.
* @example
* ```javascript
* customElements.get("perspective-viewer").registerPlugin("my-plugin");
* ```
*/
registerPlugin(name: string): Promise;
addEventListener(name: "perspective-click", cb: (e: CustomEvent) => void, options?: {
signal: AbortSignal;
}): void;
addEventListener(name: "perspective-select", cb: (e: CustomEvent) => void, options?: {
signal: AbortSignal;
}): void;
addEventListener(name: "perspective-global-filter", cb: (e: CustomEvent) => void, options?: {
signal: AbortSignal;
}): void;
addEventListener(name: "perspective-toggle-settings", cb: (e: CustomEvent) => void, options?: {
signal: AbortSignal;
}): void;
addEventListener(name: "perspective-toggle-settings-before", cb: (e: CustomEvent) => void, options?: {
signal: AbortSignal;
}): void;
addEventListener(name: "perspective-config-update", cb: (e: CustomEvent) => void, options?: {
signal: AbortSignal;
}): void;
addEventListener(name: "perspective-statusbar-pointerdown", cb: (e: CustomEvent) => void, options?: {
signal: AbortSignal;
}): void;
addEventListener(name: "perspective-table-delete", cb: (e: CustomEvent) => void, options?: {
signal: AbortSignal;
}): void;
addEventListener(name: "perspective-table-delete-before", cb: (e: CustomEvent) => void, options?: {
signal: AbortSignal;
}): void;
removeEventListener(name: "perspective-click", cb: any): void;
removeEventListener(name: "perspective-select", cb: any): void;
removeEventListener(name: "perspective-global-filter", cb: any): void;
removeEventListener(name: "perspective-toggle-settings", cb: any): void;
removeEventListener(name: "perspective-toggle-settings-before", cb: any): void;
removeEventListener(name: "perspective-config-update", cb: any): void;
removeEventListener(name: "perspective-statusbar-pointerdown", cb: any): void;
removeEventListener(name: "perspective-table-delete", cb: any): void;
removeEventListener(name: "perspective-table-delete-before", cb: any): void;
}
export {};