import { BrsBoolean, BrsString, BrsValue, ValueKind } from "../BrsType";
import { BrsComponent } from "./BrsComponent";
import { BrsType } from "..";
export declare class RoRegex extends BrsComponent implements BrsValue {
    readonly kind = ValueKind.Object;
    readonly supportedFlags = "gims";
    private jsRegex;
    constructor(expression: BrsString, flags?: BrsString);
    toString(parent?: BrsType): string;
    equalTo(other: BrsType): BrsBoolean;
    /**
     * Checks and parses the flags to avoid passing flags
     * that are not supported
     * @param inputFlags Flags passed to constructor
     * @returns parsed flags
     */
    private parseFlags;
    /**
     * Transforms positional pattern replacements to javascript syntax
     * by replacing backslashes with dollar symbols
     * @param pattern Pattern to replace
     * @returns Replaced string
     */
    private parseReplacementPattern;
    /** Returns whether the string matched the regex or not */
    private readonly isMatch;
    /** Returns an array of matches */
    private readonly match;
    /** Returns a new string with first match replaced */
    private readonly replace;
    /** Returns a new string with all matches replaced */
    private readonly replaceAll;
    /** An roList of substrings of str that were separated by strings which match the pattern in the CreateObject call. */
    private readonly split;
    /** Returns an array of array with all matches found */
    private readonly matchAll;
}
