import { Autocorrect } from './autoCorrection'; export interface Details { label: string; field: string | null; value: string | null; valid: boolean; ranges: Range[]; line: number; start: number; end: number; error?: string; autocorrect: Autocorrect[]; } interface ParseResult { value: string; start: number; end: number; } type Parser = (source: string, ...related: string[]) => ParseResult | string; type FieldTypes = keyof typeof fieldTypes; export declare const fieldTypes: { readonly NUMERIC: "NUMERIC"; readonly ALPHABETIC: "ALPHABETIC"; readonly ALPHANUMERIC: "ALPHANUMERIC"; }; export type FieldOptions = { label: string; field: string | null; line: number; start: number; end: number; parser: Parser; related?: Range[]; type?: FieldTypes; }; interface Range { line: number; start: number; end: number; } export interface CreateFieldParserResult { parser: (lines: string[], autocorrect?: Autocorrect[]) => Details; autocorrector: (lines: string[]) => { correctedLines: string[]; autocorrect: Autocorrect[]; }; } export default function createFieldParser(fieldOptions: FieldOptions): CreateFieldParserResult; export {};