import * as RE from './regex.js'; import * as AST from './ast.js'; export { ParseError } from './parser.js'; export { UnsupportedSyntaxError } from './regex-parser.js'; export { CacheOverflowError, VeryLargeSyntaxTreeError } from './regex.js'; export { type RegexBuilder }; export type RegexLike = undefined | string | RegExp | RegexBuilder | RE.ExtRegex; declare class RegexBuilder { readonly regex: RE.ExtRegex; private cachedStdRegex?; constructor(regex: RE.ExtRegex); private getStdRegex; or(re: RegexLike): RegexBuilder; and(re: RegexLike): RegexBuilder; not(): RegexBuilder; concat(re: RegexLike): RegexBuilder; repeat(bounds?: AST.RepeatBounds): RegexBuilder; optional(): RegexBuilder; derivative(prefix: string): RegexBuilder; size(): bigint | undefined; enumerate(): Generator; sample(seed?: number): Generator; toRegExp(): RegExp; isEmpty(): boolean; isEquivalent(re: RegexLike): boolean; without(re: RegexLike): RegexBuilder; isSubsetOf(re: RegexLike): boolean; isSupersetOf(re: RegexLike): boolean; isDisjointFrom(re: RegexLike): boolean; } export declare function RB(re: RegexLike): RegexBuilder;