/** Proxies a `stdout`-like stream to provide current-column tracking. */
export declare class OutputProxy {
    private readonly outputStream;
    private readonly post;
    currentLineLength: number;
    /**
     * Creates a new proxy that tracks the current column of the provided stream.
     * @param outputStream the stream to proxy writes to
     * @param post whether to post messages to the parent thread. defaults to true
     */
    constructor(outputStream: NodeJS.WriteStream, post?: boolean);
    /**
     * Writes a string's worth of data to the proxied stream and updates the current output column.
     * @param str the string to write to the proxied stream
     */
    write(str: string): void;
    /**
     * Calculates and returns the column that the next written character will
     * be placed in. If the proxied stream is a TTY, the current position will
     * be in the range `[0, proxiedStream.columns)`.
     *
     * @param str optional string to update the current position
     * @returns the zero-indexed position at which the next written character
     *          will be placed in the proxied output stream.
     */
    position(str?: string): number;
}
