import type { RStringValue } from '../../../../r-bridge/lang-4.x/convert-values';
import { type Lift, type Value, type ValueString } from '../r-value';
/**
 * Lift a raw string or R string value into a ValueString.
 * @see {@link liftString} - for lifting a Lift<RStringValue>
 */
export declare function stringFrom(str: RStringValue | string): ValueString;
/**
 * Lift a Lift<RStringValue> into a ValueString.
 * @see {@link stringFrom} - for lifting a raw string or R string value.
 */
export declare function liftString(str: Lift<RStringValue>): ValueString;
/**
 * Collect strings from an array of ValueString.
 * If any value is not a string, or is Bottom/Top, undefined is returned.
 * @param a           - The array of Value to collect strings from.
 * @param withQuotes  - Whether to include the quotes in the returned strings.
 * @returns           - An array of strings, or undefined if any value is not a string.
 */
export declare function collectStrings(a: Value[], withQuotes?: boolean): string[] | undefined;
export declare const ValueEmptyString: ValueString<Lift<RStringValue>>;
export declare const ValueStringTop: ValueString<Lift<RStringValue>>;
export declare const ValueStringBot: ValueString<Lift<RStringValue>>;
