import { TableComponent } from './tableComponent.js'; import type { HeaderLabel } from './types/Label.js'; import type { AnyPlugins } from './types/TablePlugin.js'; import type { RenderConfig } from 'svelte-render/createRender'; export type HeaderCellInit = { id: string; label: HeaderLabel; colspan: number; colstart: number; }; export type HeaderCellAttributes = { role: 'columnheader'; colspan: number; }; export declare abstract class HeaderCell extends TableComponent { label: HeaderLabel; colspan: number; colstart: number; constructor({ id, label, colspan, colstart }: HeaderCellInit); render(): RenderConfig; attrs(): import("svelte/store").Readable<{ role: "columnheader"; colspan: number; }>; abstract clone(): HeaderCell; isFlat(): this is FlatHeaderCell; isData(): this is DataHeaderCell; isFlatDisplay(): this is FlatDisplayHeaderCell; isGroup(): this is GroupHeaderCell; isGroupDisplay(): this is GroupDisplayHeaderCell; } export type FlatHeaderCellInit = Omit, 'colspan'>; export type FlatHeaderCellAttributes = HeaderCellAttributes; export declare class FlatHeaderCell extends HeaderCell { __flat: boolean; constructor({ id, label, colstart }: FlatHeaderCellInit); clone(): FlatHeaderCell; } export type DataHeaderCellInit = FlatHeaderCellInit & { accessorKey?: keyof Item; accessorFn?: (item: Item) => unknown; }; export declare class DataHeaderCell extends FlatHeaderCell { __data: boolean; accessorKey?: keyof Item; accessorFn?: (item: Item) => unknown; constructor({ id, label, accessorKey, accessorFn, colstart }: DataHeaderCellInit); clone(): DataHeaderCell; } export type FlatDisplayHeaderCellInit = Omit, 'label'> & { label?: HeaderLabel; }; export declare class FlatDisplayHeaderCell extends FlatHeaderCell { __display: boolean; constructor({ id, label, colstart }: FlatDisplayHeaderCellInit); clone(): FlatDisplayHeaderCell; } export type GroupHeaderCellInit = Omit, 'id'> & { ids: string[]; allIds: string[]; }; export declare class GroupHeaderCell extends HeaderCell { __group: boolean; ids: string[]; allId: string; allIds: string[]; constructor({ label, ids, allIds, colspan, colstart }: GroupHeaderCellInit); setIds(ids: string[]): void; pushId(id: string): void; clone(): GroupHeaderCell; } export type GroupDisplayHeaderCellInit = Omit, 'label' | 'colspan'> & { label?: HeaderLabel; colspan?: number; }; export declare class GroupDisplayHeaderCell extends GroupHeaderCell { __display: boolean; constructor({ label, ids, allIds, colspan, colstart, }: GroupDisplayHeaderCellInit); clone(): GroupDisplayHeaderCell; }