export declare class Wrap<Opening extends string = string, Text extends string = ``, Closing extends string = string> extends String {
    #private;
    get closing(): Closing;
    get opening(): Opening;
    get text(): Text;
    get [Symbol.toStringTag](): string;
    static hasClosing(text: string, closing: string): boolean;
    static hasOpening(text: string, opening: string): boolean;
    static isWrap<Opening extends string = string, Closing extends string = string, Text extends string = ``>(value: any, opening?: Opening, closing?: Closing, text?: Text): value is Wrap<Opening, Text, Closing>;
    constructor(opening: Opening, closing: Closing, text?: Text);
    getClosing(): Closing;
    getOpening(): Opening;
    getText(): Text;
    hasClosing(closing?: string): boolean;
    hasOpening(opening?: string): boolean;
    hasText(text?: string): boolean;
    isWrapped(opening?: string, closing?: string): boolean;
    replaceClosing<ReplaceClosing extends string = ''>(closing: ReplaceClosing): `${Opening}${Text}${ReplaceClosing}`;
    replaceOpening<ReplaceOpening extends string = ''>(opening: ReplaceOpening): `${ReplaceOpening}${Text}${Closing}`;
    replaceText<ReplaceText extends string = ''>(text: ReplaceText): `${Opening}${ReplaceText}${Closing}`;
    toString(): `${Opening}${Text}${Closing}`;
    valueOf(): `${Opening}${Text}${Closing}`;
}
