import { CoreModels } from 'tnp-core/lib';
import type { BaseCliWorker, BaseCliWorkerGuiUrlOptions } from './base-cli-worker';
import type { TaonBaseCliWorkerController } from './base-cli-worker-controller';
export type BaseWorkerTerminalActionReturnType = {
    [uniqeActionName: string]: {
        name: string;
        action: () => unknown | Promise<unknown>;
    };
};
export declare class BaseCliWorkerTerminalUI<WORKER extends BaseCliWorker<TaonBaseCliWorkerController<any>, any>> {
    protected worker: WORKER;
    constructor(worker: WORKER);
    protected headerText(): Promise<string>;
    protected textHeaderStyle(): CoreModels.CfontStyle;
    protected headerTextAlign(): CoreModels.CfontAlign;
    /**
     * override whole terminal header
     */
    protected header(): Promise<void>;
    infoMessageBelowHeader(options?: BaseCliWorkerGuiUrlOptions): Promise<void>;
    protected get backAction(): {
        back: {
            name: string;
        };
    };
    protected get chooseAction(): {
        emptyAction: {
            name: string;
            action: () => Promise<void>;
        };
    };
    protected getWorkerTerminalActions(options?: {
        exitIsOnlyReturn?: boolean;
        chooseAction?: boolean;
    }): BaseWorkerTerminalActionReturnType;
    private headerDisplayed;
    protected showWorkerInfoScreen: boolean;
    infoScreen(options?: {
        exitIsOnlyReturn?: boolean;
    }): Promise<void>;
    displaySpecialWorkerReadyMessage(): void;
}
