export interface LoggerOptions {
    verbose?: boolean;
}
export declare class Logger {
    private startTime;
    private stepStartTime;
    private isVerbose;
    private activeSpinner;
    private spinnerChars;
    private spinnerIndex;
    private phaseLines;
    private currentOutputLine;
    constructor(options?: LoggerOptions);
    get verbose(): boolean;
    setupStart(message: string): void;
    setupComplete(): void;
    setupFailed(error?: any): void;
    deploymentStart(releaseId: string): void;
    phase(message: string): void;
    phaseComplete(message: string, duration?: number): void;
    phaseError(message: string, error?: any): void;
    step(message: string, level?: number): void;
    stepComplete(message: string, duration?: number, level?: number): void;
    stepLast(message: string, duration?: number, level?: number): void;
    stepError(message: string, error?: any, level?: number): void;
    server(hostname: string): void;
    appDeployment(appName: string, servers: string[], isLast?: boolean): void;
    serviceDeploymentStep(serviceName: string, message: string, isLast?: boolean): void;
    serviceDeploymentComplete(serviceName: string, message: string, duration?: number, isLast?: boolean): void;
    serviceDeploymentSkipped(serviceName: string, reason: string, isLast?: boolean): void;
    buildStep(message: string, isLast?: boolean): void;
    buildStepComplete(message: string, duration?: number, isLast?: boolean): void;
    buildPhaseComplete(message: string, duration: number, subStepCount?: number): void;
    serverStep(message: string, isLast?: boolean, isLastParent?: boolean): void;
    serverStepComplete(message: string, duration?: number, isLast?: boolean, isLastParent?: boolean): void;
    serverStepError(message: string, error?: any, isLast?: boolean, isLastParent?: boolean): void;
    deploymentComplete(appUrls?: Array<{
        appName: string;
        url: string;
    }>): void;
    deploymentFailed(error: any): void;
    verboseLog(message: string): void;
    warn(message: string): void;
    error(message: string, error?: any): void;
    info(message: string): void;
    phaseStart(message: string): void;
    phaseEnd(message: string): void;
    private startSpinner;
    private startSpinnerAtPosition;
    private clearSpinner;
    private restartSpinner;
    private getIndent;
    private formatDuration;
    startStep(): void;
    getStepDuration(): number;
    cleanup(): void;
    clear(): void;
}
export declare const logger: Logger;
