import type { XbrlInstance, XbrlLinkbase, XbrlSchema } from '../../../types'; import { XbrlMetaLinks } from '../../../types/metalinks.type'; import { DocumentData } from '../DocumentXmlSplitter'; import { XbrlFilingSummary } from './FilingSummaryParser'; import { XbrlFormHeader } from './HeaderParser'; export interface XbrlParseResult { header: XbrlFormHeader; schema: XbrlDocument | null; instance: XbrlDocument | null; linkbasePresentation: XbrlDocument | null; linkbaseCalculation: XbrlDocument | null; linkbaseDefinition: XbrlDocument | null; linkbaseLabel: XbrlDocument | null; /** * FilingSummary.xml content */ filingSummary: XbrlFilingSummary | null; /** * MetaLinks.json content */ metaLinks: XbrlMetaLinks | null; documents: DocumentData[]; } interface XbrlDocument { description: string; fileName: string; sequence: number; type: string; xbrl: T; } interface ParseXbrlOptions { includeInstance?: boolean; includeLinkbases?: boolean; includeSchema?: boolean; } export default class XBRLParser { private readonly splitter; private readonly headerParser; private readonly linkbaseParser; private readonly instanceParser; private readonly schemaParser; private readonly filingSummaryParser; private readonly metaLinksParser; private filterDocuments; private createXbrlDocument; parse(xml: string, options?: ParseXbrlOptions): XbrlParseResult; } export {};