import type { UserReadiness } from '../../services/UserReadinessService.js'; import type { UserInfo } from '../../services/UserReadinessService.js'; import type { UserDetailsResult, ConfigurationResult, ConfigurationActionResult } from '../../models/user-details-types.js'; /** * Returns a properly pluralized count string (e.g., "1 change", "2 changes", "0 changes"). */ export declare function pluralize(count: number, singular: string): string; /** * Returns a status indicator symbol for configuration actions. * checkmark = applied or skipped (desired state achieved), cross = failed, ? = planned */ export declare function actionSymbol(status: 'applied' | 'skipped' | 'failed' | 'planned'): string; /** * Resolves the message key for a configuration action based on its type and status. */ export declare function resolveActionMessageKey(action: ConfigurationActionResult, isDryRun: boolean): { key: string; args: string[]; }; /** * Displays the full human-readable output for the user details command. * * Orchestrates all display sub-sections: contextual header, org context, * user identity, prerequisites, readiness status, resolution guidance, * configuration actions, and next steps. * * @param log - The logging function (typically `this.log.bind(this)`) * @param userInfo - The authenticated user information * @param readiness - The user readiness assessment from the service * @param result - The fully built command result */ export declare function displayOutput(log: (msg: string) => void, userInfo: UserInfo, readiness: UserReadiness, result: UserDetailsResult): void; /** * Displays the readiness status section (permission sets, config profile, warnings). * * @param log - The logging function * @param result - The command result * @param readiness - The readiness data from the service */ export declare function displayReadinessStatus(log: (msg: string) => void, result: UserDetailsResult, readiness: UserReadiness): void; /** * Displays the prerequisites section. * * @param log - The logging function * @param result - The command result */ export declare function displayPrerequisites(log: (msg: string) => void, result: UserDetailsResult): void; /** * Displays configuration actions taken or planned. * * @param log - The logging function * @param config - The configuration result * @param isReady - Whether the user is ready after configuration */ export declare function displayConfigurationActions(log: (msg: string) => void, config: ConfigurationResult, isReady: boolean): void; /** * Displays action failure warnings as indented bullets under the Readiness section. * * @param log - The logging function * @param configuration - The configuration result (may be undefined) */ export declare function displayActionWarnings(log: (msg: string) => void, configuration: ConfigurationResult | undefined): void; /** * Displays ready confirmation message based on readiness and configuration state. * * @param log - The logging function * @param readiness - The readiness data from the service * @param result - The command result * @param username - The authenticated username */ export declare function displayReadyConfirmation(log: (msg: string) => void, readiness: UserReadiness, result: UserDetailsResult, username: string): void; /** * Displays next-step commands after a successful readiness check or configure. * * @param log - The logging function * @param username - The authenticated username */ export declare function displayNextSteps(log: (msg: string) => void, username: string): void; /** * Displays structured "Next steps:" for the not-ready diagnostic state. * Conditionally suppresses configure CTA when Admin PS is not assigned. * * @param log - The logging function * @param result - The command result * @param username - The authenticated username */ export declare function displayNotReadyNextSteps(log: (msg: string) => void, result: UserDetailsResult, username: string): void; /** * Displays structured "Next steps:" after configure partial failure. * * @param log - The logging function * @param username - The authenticated username */ export declare function displayRetryNextSteps(log: (msg: string) => void, username: string): void; /** * Displays structured "Next steps:" after unconfigure success. * * @param log - The logging function * @param username - The authenticated username */ export declare function displayUnconfigureNextSteps(log: (msg: string) => void, username: string): void;