import { EL } from ".."; import type * as std from "../../../law/std"; import type { SentenceChildEL } from "../../cst/inline"; import { __Parentheses } from "./parentheses"; export declare enum RelPos { PREV = "PREV", HERE = "HERE", NEXT = "NEXT", SAME = "SAME", NAMED = "NAMED", EACH = "EACH" } export declare const isRelPos: (object: unknown) => object is RelPos; export type PointerTargetType = ("Law" | (typeof std.articleGroupTags)[number] | "Article" | "Paragraph" | "Item" | "SupplProvision" | "TableStruct" | "APPDX" | "FIRSTPART" | "LATTERPART" | "PROVISO" | "SUBITEM" | "INFERIOR"); export interface PFOptions { relPos: RelPos; targetType: PointerTargetType; name: string; num?: string | null; count?: "all" | `${number}` | null; range: [start: number, end: number] | null; } export declare class ____PF extends EL { tag: unknown; get isControl(): true; attr: { relPos: RelPos; targetType: PointerTargetType; name: string; num?: string; count?: string; }; children: [string]; constructor(options: PFOptions); } export interface PointerOptions { children: (____PF | SentenceChildEL)[]; range: [start: number, end: number] | null; } export declare class ____Pointer extends EL { tag: "____Pointer"; get isControl(): true; children: SentenceChildEL[]; constructor(options: PointerOptions); fragments(): ____PF[]; } export interface PointerRangeOptions { from: ____Pointer; midChildren: SentenceChildEL[]; to: ____Pointer | null; trailingChildren: SentenceChildEL[]; range: [start: number, end: number] | null; } export declare class ____PointerRange extends EL { tag: "____PointerRange"; get isControl(): true; children: (____Pointer | SentenceChildEL)[]; constructor(options: PointerRangeOptions); pointers(): [____Pointer] | [____Pointer, ____Pointer]; modifierParentheses(): __Parentheses | null; } export interface RangeInfo { from: string; to?: string; exclude?: RangeInfo[]; } export interface PointerRangesOptions { children: (____PointerRange | SentenceChildEL)[]; range: [start: number, end: number] | null; } export declare class ____PointerRanges extends EL { tag: "____PointerRanges"; get isControl(): true; attr: { targetContainerIDRanges?: string; }; children: (____PointerRange | SentenceChildEL)[]; private targetContainerIDRangesCache; get targetContainerIDRanges(): readonly RangeInfo[]; set targetContainerIDRanges(value: readonly RangeInfo[]); constructor(options: PointerRangesOptions); ranges(): ____PointerRange[]; }