import ProgressBar from "progress"; import { Ora } from "ora"; import { Node } from "ts-morph"; export interface Context { spinner: Ora | undefined; crash(args: { exitCode?: number; errForSentry?: any; printedMessage: string | null; }): Promise; addWarning(args: { title: string; message: string; node: Node; }): void; incrementChanges(file: string): void; printResults(isDryRun: boolean): void; } declare class ContextImpl implements Context { spinner: Ora | undefined; private warnings; private changes; crash: (args: { exitCode?: number; errForSentry?: any; printedMessage: string | null; }) => Promise; flushAndExit: (exitCode: number, err?: any) => Promise; addWarning: (warning: { title: string; message: string; node: Node; }) => void; incrementChanges: (file: string) => void; printResults: (isDryRun: boolean) => void; private printSuccessStep; private printWarnings; } export declare const createContext: () => ContextImpl; export declare function logError(ctx: Context, message: string): void; export declare function logWarning(ctx: Context, ...logged: any): void; export declare function logMessage(ctx: Context, ...logged: any): void; export declare function logOutput(ctx: Context, ...logged: any): void; export declare function logVerbose(ctx: Context, ...logged: any): void; /** * Returns a ProgressBar instance, and also handles clearing the spinner if necessary. * * The caller is responsible for calling `progressBar.tick()` and terminating the `progressBar` * when it's done. */ export declare function startLogProgress(ctx: Context, format: string, progressBarOptions: ProgressBar.ProgressBarOptions): ProgressBar; export declare function showSpinner(ctx: Context, message: string): void; export declare function changeSpinner(ctx: Context, message: string): void; export declare function logFailure(ctx: Context, message: string): void; export declare function logFinishedStep(ctx: Context, message: string): void; export declare function stopSpinner(ctx: Context): void; export declare function showSpinnerIfSlow(ctx: Context, message: string, delayMs: number, fn: () => Promise): Promise; export {}; //# sourceMappingURL=context.d.ts.map