import { EL } from "../"; import type * as std from "../../../law/std"; import type { SentenceTextRange } from "../../container/sentenceEnv"; export type DeclarationValue = { isCandidate: false; text: string; sentenceTextRange: SentenceTextRange; } | { isCandidate: true; sentenceTextRange: SentenceTextRange; }; export interface DeclarationOptions { declarationID: string; type: string; name: string; children: (std.Ruby | std.Sup | std.Sub | std.__EL | string)[]; value: DeclarationValue | null; scope: SentenceTextRange[]; nameSentenceTextRange: SentenceTextRange; range: [start: number, end: number] | null; } export declare class ____Declaration extends EL { tag: "____Declaration"; get isControl(): true; attr: { declarationID: string; type: string; name: string; value?: string; scope: string; nameSentenceTextRange: string; }; children: (std.Ruby | std.Sup | std.Sub | std.__EL | string)[]; private valueCache; get value(): DeclarationOptions["value"]; private scopeCache; get scope(): DeclarationOptions["scope"]; private nameSentenceTextRangeCache; get nameSentenceTextRange(): DeclarationOptions["nameSentenceTextRange"]; set nameSentenceTextRange(value: SentenceTextRange); constructor(options: DeclarationOptions); }