import type { Autocorrect, Details, FieldName, Range } from '../types.ts';
interface ParseResult {
    value: string;
    start?: number;
    end?: number;
    valid?: boolean;
    error?: string | null;
}
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 interface FieldOptions {
    label: string;
    field: FieldName | null;
    line: number;
    start: number;
    end: number;
    parser: Parser;
    related?: Range[];
    type?: FieldTypes;
}
export interface CreateFieldParserResult {
    parser: (lines: readonly string[], autocorrect: readonly Autocorrect[]) => Details;
    autocorrector: (lines: readonly string[]) => {
        autocorrect: Autocorrect[];
        correctedText: string;
        range: Range;
    };
}
export default function createFieldParser(fieldOptions: FieldOptions): CreateFieldParserResult;
export {};
//# sourceMappingURL=createFieldParser.d.ts.map