import { InteractionEvent } from "pixi.js"; import { DLink, DLinkChecker, DLinkOptions, DLinkUrlMaker } from "./d-link"; import { DLinkMenuItemId } from "./d-link-menu-item-id"; import { DLinkTarget } from "./d-link-target"; import { DMenu, DMenuOptions } from "./d-menu"; import { DTableBodyCell, DTableBodyCellOnChange } from "./d-table-body-cell"; import { DTableBodyCellButton, DTableBodyCellButtonOptions, DThemeTableBodyCellButton } from "./d-table-body-cell-button"; import { DTableColumn } from "./d-table-column"; export type DTableBodyCellLinkUrlMaker = (row: ROW, rowIndex: number, columnIndex: number, link: DTableBodyCell) => string | null | Promise; export type DTableBodyCellLinkChecker = (row: ROW, rowIndex: number, columnIndex: number, link: DTableBodyCell) => boolean | Promise; export interface DTableBodyCellLinkLinkOptions { url?: string | DTableBodyCellLinkUrlMaker; target?: DLinkTarget | keyof typeof DLinkTarget; checker?: DTableBodyCellLinkChecker; menu?: DMenuOptions | DMenu; } export interface DTableBodyCellLinkOptions = DThemeTableBodyCellLink> extends DTableBodyCellButtonOptions { link?: DTableBodyCellLinkLinkOptions; } export interface DThemeTableBodyCellLink extends DThemeTableBodyCellButton { } export declare const toLinkOptions: (cell: DTableBodyCell, options?: DTableBodyCellLinkLinkOptions) => DLinkOptions | undefined; export declare const toUrl: (cell: DTableBodyCell, url?: string | DTableBodyCellLinkUrlMaker) => string | DLinkUrlMaker | undefined; export declare const toChecker: (cell: DTableBodyCell, checker?: DTableBodyCellLinkChecker) => DLinkChecker | undefined; export declare class DTableBodyCellLink = DThemeTableBodyCellLink, OPTIONS extends DTableBodyCellLinkOptions = DTableBodyCellLinkOptions> extends DTableBodyCellButton { protected _link?: DLink; constructor(columnIndex: number, column: DTableColumn, onChange: DTableBodyCellOnChange, options: OPTIONS); protected onClick(e: InteractionEvent): void; get link(): DLink; protected getType(): string; protected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void; open(inNewWindow: boolean): void; }