export type LawInfoListItem = [ LawID: string, LawNum: string, LawTitle: string, Enforced: boolean, Path: string, XmlName: string, ReferencingLawNums: string[], ReferencedLawNums: string[] ]; export interface BaseLawInfo { LawID: string; LawNum: string; LawTitle: string; Enforced: boolean; Path: string; XmlName: string; } export declare class LawInfo implements BaseLawInfo { /** この法令が参照している法令の法令番号の一覧 */ ReferencingLawNums: Set; /** この法令を参照している法令の法令番号の一覧 */ ReferencedLawNums: Set; /** 法令ID */ LawID: string; /** 法令番号 */ LawNum: string; /** 法令名 */ LawTitle: string; /** 施行済みかどうか */ Enforced: boolean; Path: string; XmlName: string; constructor(LawID: string, LawNum: string, LawTitle: string, Enforced: boolean, Path: string, XmlName: string); toTuple(): LawInfoListItem; toBaseLawInfo(): BaseLawInfo; static fromBaseLawInfo(baseLawInfo: BaseLawInfo): LawInfo; static getHeader(): readonly ["LawID", "LawNum", "LawTitle", "Enforced", "Path", "XmlName", "ReferencingLawNums", "ReferencedLawNums"]; static fromTuple(tuple: LawInfoListItem): LawInfo; addReferencingLawNums(xml: string): void; } export interface LawList { header: ReturnType; body: LawInfoListItem[]; } export declare class LawListGenerator { protected lawInfos: LawInfo[]; protected lawInfoMap: Map; add(lawInfo: LawInfo): void; setReferences(): void; getList(): LawList; }