import { ExtendedAttributes } from "./productions/extended-attributes.js"; import { Type } from "./productions/type.js"; import { Default } from "./productions/default.js" import { Token } from "./tokeniser.js"; declare module "./tokeniser.js" { interface Tokeniser { current: any; } } declare module "./productions/argument.js" { interface Argument { idlType: Type; default: Default | null; } } declare module "./productions/attribute.js" { interface Attribute { idlType: Type; default: Default | null; } } declare module "./productions/base.js" { interface Base { tokens: Record; source: Token[]; extAttrs: ExtendedAttributes | undefined; this: this; parent: any; } } declare global { export type ArrayItemType = T extends Array ? X : null; }