import { UnnamedGroupType, UnnamedGroupTypeAliases } from ".."; export declare function capturing(strings: TemplateStringsArray, ...vals: Array): RegExp; export declare const c: typeof capturing; export declare function optional(strings: TemplateStringsArray, ...vals: Array): RegExp; export declare const o: typeof optional; export declare function nonCapturing(strings: TemplateStringsArray, ...vals: Array): RegExp; export declare const nc: typeof nonCapturing; export declare function lookahead(strings: TemplateStringsArray, ...vals: Array): RegExp; export declare function negativeLookahead(strings: TemplateStringsArray, ...vals: Array): RegExp; export declare function lookbehind(strings: TemplateStringsArray, ...vals: Array): RegExp; export declare function negativeLookbehind(strings: TemplateStringsArray, ...vals: Array): RegExp; export type special = UnnamedGroupType | UnnamedGroupTypeAliases | 'optional'; export declare function between(left: string | RegExp, right: string | RegExp): (strings: TemplateStringsArray, ...vals: Array) => RegExp; /** * Creates a group with the specified name or type. * Handles both named groups and special group types like capturing, non-capturing, lookahead, etc. * * @param pattern - The pattern to wrap in a group * @param groupname - The name for the group or special group type * @returns A new RegExp with the pattern wrapped in the specified group type * * @example * // Named group * const named = as(/\\w+/, 'username'); * * @example * // Special group types * const capturing = as(/\\w+/, 'capturing'); * const nonCapturing = as(/\\w+/, 'non-capturing'); * const lookahead = as(/\\w+/, 'lookahead'); */ export declare function as(pattern: string | RegExp, groupname: string, wrap?: boolean): RegExp; //# sourceMappingURL=groups.d.ts.map