import { type ProfileResult } from '../../operations/ProfileOperation.js'; import { CuneiformCommand } from '../../base/cuneiform-command.js'; /** * Command result type for JSON output. * Composes from ProfileResult to stay in sync with the operation layer. */ export type ProfileCommandResult = ProfileResult & { /** Whether the operation was successful */ success: boolean; /** Error message if operation failed */ error?: string; }; /** * Executes profiling operations on Cuneiform profiling definitions. * * Use this command to: * - Profile a single definition by key or ID * - Profile multiple definitions in bulk by method * - Apply filters to control which definitions are processed * - Monitor progress for bulk operations * * @example * ```bash * # Profile a single definition by key * sf cuneiform profile --target-org myOrg --keys PD-0001 * * # Profile all metadata definitions * sf cuneiform profile --target-org myOrg --method metadata --parallel 10 * * # Profile historical definitions with filters * sf cuneiform profile --target-org myOrg --method historical --status "NOT PROFILED" --limit 5 * ``` */ export default class Profile extends CuneiformCommand { static readonly summary: string; static readonly description: string; static readonly examples: string[]; static readonly flags: { 'target-org': import("@oclif/core/interfaces").OptionFlag; 'api-version': import("@oclif/core/interfaces").OptionFlag; keys: import("@oclif/core/interfaces").OptionFlag; id: import("@oclif/core/interfaces").OptionFlag; method: import("@oclif/core/interfaces").OptionFlag<"metadata" | "historical" | "comparative" | undefined, import("@oclif/core/interfaces").CustomOptions>; status: import("@oclif/core/interfaces").OptionFlag<"ERROR" | "NOT PROFILED" | "IN PROGRESS" | "SUCCESS" | "COMPLETE w/ FAILURES" | undefined, import("@oclif/core/interfaces").CustomOptions>; namespace: import("@oclif/core/interfaces").OptionFlag; category: import("@oclif/core/interfaces").OptionFlag; 'time-category': import("@oclif/core/interfaces").OptionFlag; 'segment-category': import("@oclif/core/interfaces").OptionFlag; limit: import("@oclif/core/interfaces").OptionFlag; 'skip-empty': import("@oclif/core/interfaces").BooleanFlag; parallel: import("@oclif/core/interfaces").OptionFlag; format: import("@oclif/core/interfaces").OptionFlag<"table" | "json", import("@oclif/core/interfaces").CustomOptions>; }; /** * Maps operation error codes to i18n message bundle keys. * Used by the inherited `resolveErrorMessage()` for consistent error resolution. */ private static readonly ERROR_CODE_MAP; /** * Executes the profile command. * * @returns ProfileCommandResult with execution statistics */ run(): Promise; /** * Displays bulk execution configuration. * * @param flags - Parsed command flags */ private displayBulkConfiguration; /** * Displays profiling results. JSON mode emits a single structured payload to * stdout and skips all prose; table mode renders the human-readable layout. * * @param data - Profile result data * @param targetOrg - Target org username for next-steps guidance * @param format - Output format selector (table = prose, json = structured) * @param warnings - Operation warnings (included in the JSON payload; emitted via this.warn() by the caller in table mode) */ private displayResults; /** * Displays single-mode result. * * @param data - Profile result data */ private displaySingleResult; /** * Displays bulk-mode results. * * @param data - Profile result data */ private displayBulkResults; }