import { Complex } from './Complex';
/**
 * Single quote string character type.
 */
type SingleQuoteCharacter = "'";
/**
 * Single quote string character literal.
 */
declare const singleQuoteCharacter: SingleQuoteCharacter;
/**
 * Double quote string character type.
 */
type DoubleQuoteCharacter = '"';
/**
 * Double quote string character literal.
 */
declare const doubleQuoteCharacter: DoubleQuoteCharacter;
/**
 * String quote character type.
 */
type StringQuoteCharacter = SingleQuoteCharacter | DoubleQuoteCharacter;
/**
 * Type number for `CharString` node.
 */
declare const stringClass = 3;
declare class CharString {
    /**
     * String value property.
     */
    str: string;
    /**
     * Type of string quote (single or double).
     */
    quote: StringQuoteCharacter;
    /**
     * String class type number.
     */
    static readonly STRING = 3;
    /**
     * String class type property.
     */
    type: number;
    /**
     * Parent node.
     */
    parent: any;
    /**
     * `CharString` constructor.
     * @param str
     * @param quote
     */
    constructor(str: string, quote?: StringQuoteCharacter);
    /**
     * Creates a `CharString` instance.
     * @param str String value.
     * @param quote Quote character.
     * @returns
     */
    static readonly create: (str: string, quote?: StringQuoteCharacter) => CharString;
    /**
     * Test if an object is a instance of `CharString`.
     * @param value Object to test.
     * @returns `true` if `obj` is an instance of `CharString`. `false` otherwise.
     */
    static readonly isInstanceOf: (obj: unknown) => obj is CharString;
    /**
     * Creates a copy of `CharString` `value`.
     * @param value `CharString` to copy.
     * @returns A copy of `value`.
     */
    static readonly copy: (value: CharString) => CharString;
    /**
     * Creates a copy of `CharString` instance.
     * @returns A copy of `this` `CharString`.
     */
    copy(): CharString;
    /**
     *
     * @param str
     * @returns
     */
    static readonly parse: (str: string) => CharString;
    /**
     *
     * @param value
     * @param parentPrecedence
     * @returns
     */
    static readonly unparse: (value: CharString, parentPrecedence?: number) => string;
    /**
     *
     * @param value
     * @returns
     */
    static readonly toString: (value: CharString) => string;
    toString(): string;
    /**
     *
     * @param value
     * @returns
     */
    static readonly unparseEscaped: (value: CharString) => string;
    /**
     *
     * @param value
     * @param parentPrecedence
     * @returns
     */
    static readonly unparseMathML: (value: CharString, parentPrecedence?: number) => string;
    /**
     *
     * @param value
     * @returns
     */
    static readonly unparseEscapedMathML: (value: CharString) => string;
    /**
     *
     * @param value
     * @returns
     */
    static readonly logical: (value: CharString) => Complex;
    /**
     *
     * @param value
     * @returns
     */
    static readonly toLogical: (value: CharString) => Complex;
    /**
     *
     * @returns
     */
    toLogical(): Complex;
}
export type { SingleQuoteCharacter, DoubleQuoteCharacter, StringQuoteCharacter };
export { singleQuoteCharacter, doubleQuoteCharacter, stringClass, CharString };
declare const _default: {
    singleQuoteCharacter: "'";
    doubleQuoteCharacter: "\"";
    stringClass: number;
    CharString: typeof CharString;
};
export default _default;
