import * as std from "../law/std"; import * as analyzer from "../analyzer"; import type { ErrorMessage } from "../parser/cst/error"; import type { LawXMLStruct } from "./loaders/common"; export interface LawDataCore { el: std.Law; analysis: analyzer.Analysis; pictURL: Map; } export interface BaseXMLLawDataProps { xml: string; lawXMLStruct: LawXMLStruct | null; } export interface BaseLawtextLawDataProps { lawtext: string; } export type BaseLawDataProps = BaseXMLLawDataProps | BaseLawtextLawDataProps; export type LawDataResult = { ok: true; lawData: LawDataCore & TLawDataProps; lawtextErrors?: ErrorMessage[]; } | { ok: false; error: Error; }; export declare class Timing { searchLawID: number | null; fetchStoredLawInfo: number | null; loadData: number | null; extractPict: number | null; parseXMLOrLawtext: number | null; addControlTags: number | null; analyze: number | null; updateComponents: number | null; toString(): string; } export declare const toLawData: (props: TLawDataProps, onMessage: (message: string) => unknown, timing: Timing) => Promise>;