import type { DynamicBase } from "@ark/util"; import type { Flags, IndexedCaptures, NamedCaptures } from "./regex.ts"; export interface RegexExecArray extends DynamicBase { /** * The index of the search at which the result was found. */ index: number; /** * A copy of the search string. */ input: patternAndCaptures[0]; indices: flags extends `${string}d${string}` ? RegexIndicesArray : undefined; groups: keyof namedCaptures extends never ? undefined : namedCaptures; } export type RegexIndexRange = [start: number, end: number]; interface RegexIndicesArray extends DynamicBase<{ [i in keyof patternAndCaptures]: RegexIndexRange; }> { groups: keyof namedCaptures extends never ? undefined : { [k in keyof namedCaptures]: RegexIndexRange; }; } export {};