import { Logger } from '../index';
/**
 * The most simplest spinner to log message with a progress indicator
 */
export declare class Spinner {
    private text;
    private logger;
    private testing;
    /**
     * Frames to loop over
     */
    private frames;
    /**
     * Animation duration
     */
    private interval;
    /**
     * The state of the spinner
     */
    private state;
    /**
     * The current index for the frames
     */
    private currentIndex;
    /**
     * Builds the message to the print from the text
     */
    private messageBuilder;
    constructor(text: string, logger: Logger, testing?: boolean);
    /**
     * Increment index. Also, handles the index overflow
     */
    private incrementIndex;
    /**
     * Loop over the message and animate the spinner
     */
    private loop;
    /**
     * Star the spinner
     */
    start(): this;
    /**
     * Define a custom message builder
     */
    useMessageBuilder(messageBuilder: {
        render: (text: string) => string;
    }): this;
    /**
     * Update spinner
     */
    update(text: string, prefix?: string, suffix?: string): this;
    /**
     * Stop spinner
     */
    stop(): void;
}
