import { type KeyValue } from '../../common'; import { Registry } from '../registry'; import * as patterns from './main'; export declare class Grid { root: Element; patterns: { [id: string]: Element; }; constructor(); add(id: string, elem: Element): void; get(id: string): Element; has(id: string): boolean; } export interface GridOptions { color: string; thickness: number; } interface BaseDefinition extends GridOptions { markup: string; update: (elem: Element, options: { sx: number; sy: number; ox: number; oy: number; width: number; height: number; } & T) => void; } export type GridDefinition = T & BaseDefinition; type CommonDefinition = GridDefinition | GridDefinition[]; export declare const gridPresets: typeof patterns; export declare const gridRegistry: Registry; type Presets = typeof gridPresets; export type GridOptionsMap = { dot: patterns.DotOptions; fixedDot: patterns.FixedDotOptions; mesh: patterns.MeshOptions; doubleMesh: patterns.DoubleMeshOptions[]; }; export type GridNativeNames = keyof Presets; export interface GridNativeItem { type: T; args?: GridOptionsMap[T]; } export interface GridManualItem { type: Exclude; args?: KeyValue; } export {};