import type { LoggerInterface } from '../../logger/index.js'; import type { TableInterface } from '../../model/index.js'; import type { ParserParseRequest } from './ParserInterface.js'; import type { ParserInterface } from './ParserInterface.js'; import type { ImporterInterface } from '../../importer-xlsx/index.js'; export interface ParserBaseOptions { /** The row the parser will start reading. */ startRow?: number; /** The column the parser will start reading. */ startColumn?: number; /** The key string used to find the last column or row. */ endKey?: string; /** The logger used for this parser */ logger: LoggerInterface; } /** * For each different type of table an own parser is needed. This is the * base implementation of the parser used by different parser types. */ export declare abstract class ParserBase implements ParserInterface { /** The row the parser will start reading. */ startRow: number; /** The column the parser will start reading. */ startColumn: number; /** The key string used to find the last column or row. */ endKey: string; /** The logger used for this parser */ logger: LoggerInterface; /** * @param opts - The options as defined in @see ParserBaseOptions */ constructor(opts: ParserBaseOptions); /** * Parses the sheet with the given name und uses the given importer to access * the data. * @param request - The parameters as defined in @see ParserParseRequest * @returns The created table model */ abstract parse(request: ParserParseRequest): TableInterface | undefined; /** * Parses the sheet to get the last row of the imported table. * @param importer - The importer object * @param sheetName - The name of the sheet to parse * @param maxEmpty - The maximum of empty lines which will be ignored * @returns The index number of the last row of the table */ getEndRow(importer: ImporterInterface, sheetName: string, maxEmpty?: number): number; /** * Parses the sheet to get the last column of the decision table. * @param importer - The importer object * @param sheetName - The name of the sheet to parse * @param maxEmpty - The maximum of empty columns which will be ignored * @returns - The index number of the last column of the table */ getEndColumn(importer: ImporterInterface, sheetName: string, maxEmpty?: number): number; } //# sourceMappingURL=ParserBase.d.ts.map