export declare class RegexGroup { readonly groupName: string; readonly value: string; readonly indexInMatch: number; readonly indexInInput: number; readonly parentMatch: RegexMatch; constructor(groupName: string, value: string, indexInMatch: number, indexInInput: number, parentMatch: RegexMatch); get length(): number; get lastIndexInMatch(): number; get lastIndexInInput(): number; } export declare class RegexMatch { readonly value: string; readonly index: number; readonly length: number; readonly groups: Map; constructor(value: string, index: number, length: number, groups: Map); get lastIndex(): number; group(name: string): RegexGroup | undefined; } export declare class Regex { private constructor(); private _regExp; static of(jsNativeRegExp: RegExp): Regex; static parse(pattern: string, options?: { i?: boolean; m?: boolean; s?: boolean; }): Regex; hasMatches(input: string, startingFromIndex?: number): boolean; getFirstMatch(input: string, startingFromIndex?: number): RegexMatch | undefined; getLastMatch(input: string, startingFromIndex?: number): RegexMatch | undefined; getMatches(input: string, startingFromIndex?: number, upToIndex?: number | undefined): RegexMatch[]; replaceMatches(input: string, replacementDeducer: (match: RegexMatch) => string, startingFromIndex?: number): { newString: string; realReplacementCount: number; }; replaceGroups(input: string, groupNames: string[], replacementDeducer: (group: RegexGroup) => string, startingFromIndex?: number): { newString: string; realReplacementCount: number; }; splitByMatches(input: string, condition?: (match: RegexMatch) => boolean): { value: string; index: number; lastIndex: number; }[]; splitByGroups(input: string, groupNames: string[], condition: (group: RegexGroup) => boolean, startingFromIndex?: number): string[]; } //# sourceMappingURL=Regex.d.ts.map