import type { z } from 'zod'; import type { AssembliesCreateOptions } from './commands/assemblies.ts'; import type { SharedCliOptionDocumentation } from './fileProcessingOptions.ts'; import type { IntentFieldSpec } from './intentFields.ts'; import type { IntentInputPolicy } from './intentInputPolicy.ts'; import { AuthenticatedCommand } from './commands/BaseCommand.ts'; export interface PreparedIntentInputs { cleanup: Array<() => Promise>; hasTransientInputs: boolean; inputs: string[]; } export interface IntentSingleStepExecutionDefinition { fields: readonly IntentOptionDefinition[]; fixedValues: Record; kind: 'single-step'; resultStepName: string; schema: z.AnyZodObject; } export interface IntentDynamicStepExecutionDefinition { fields: readonly IntentOptionDefinition[]; handler: string; kind: 'dynamic-step'; resultStepName: string; } export interface IntentTemplateExecutionDefinition { kind: 'template'; templateId: string; } export type IntentFileExecutionDefinition = IntentDynamicStepExecutionDefinition | IntentSingleStepExecutionDefinition | IntentTemplateExecutionDefinition; export interface IntentFileCommandDefinition { commandLabel: string; defaultOutputPath: string; execution: IntentFileExecutionDefinition; inputPolicy: IntentInputPolicy; outputDescription: string; outputMode?: 'directory' | 'file'; } export interface IntentNoInputCommandDefinition { defaultOutputPath: string; execution: IntentSingleStepExecutionDefinition; outputDescription: string; outputMode?: 'directory' | 'file'; } export type IntentRunnerKind = 'bundled' | 'no-input' | 'standard' | 'watchable'; export interface IntentCommandDefinition { className: string; description: string; details: string; examples: Array<[string, string]>; intentDefinition: IntentFileCommandDefinition | IntentNoInputCommandDefinition; paths: string[]; runnerKind: IntentRunnerKind; } export interface IntentOptionDefinition extends IntentFieldSpec { description?: string; exampleValue?: unknown; optionFlags: string; propertyName: string; required?: boolean; } export declare function getInputBase64OptionDocumentation(): SharedCliOptionDocumentation; export declare function prepareIntentInputs({ inputBase64Values, inputValues, }: { inputBase64Values: string[]; inputValues: string[]; }): Promise; declare abstract class GeneratedIntentCommandBase extends AuthenticatedCommand { static intentDefinition: IntentFileCommandDefinition | IntentNoInputCommandDefinition; outputPath: string | undefined; printUrls: boolean; protected getIntentDefinition(): IntentFileCommandDefinition | IntentNoInputCommandDefinition; protected getIntentRawValues(): Record; private getOutputDescription; protected resolveDefaultOutputPath(rawValues: Record): string | undefined; protected getDefaultOutputPath(rawValues: Record): string | undefined; protected getEffectiveOutputPath(rawValues: Record): string | undefined; protected getEffectiveOutputMode(_rawValues: Record, _outputPath: string | undefined): 'directory' | 'file' | undefined; } export declare abstract class GeneratedNoInputIntentCommand extends GeneratedIntentCommandBase { protected run(): Promise; } export declare function getIntentOptionDefinitions(definition: IntentFileCommandDefinition | IntentNoInputCommandDefinition): readonly IntentOptionDefinition[]; declare abstract class GeneratedFileIntentCommandBase extends GeneratedIntentCommandBase { inputs: string[]; inputBase64: string[]; recursive: boolean; deleteAfterProcessing: boolean; reprocessStale: boolean; protected getIntentDefinition(): IntentFileCommandDefinition; protected getSingleFilesystemFileInput(): string | null; protected hasDirectoryInput(): boolean; protected prefersDirectoryDefaultOutput(): boolean; protected getSuggestedDirectoryOutputPath(): string; private getSafeSiblingDirectoryOutputPath; protected getSiblingOutputPath(inputPath: string, rawValues: Record): string; protected getDefaultOutputPath(rawValues: Record): string | undefined; protected prepareInputs(): Promise; protected getCreateOptions(inputs: string[]): Omit; protected getProvidedInputCount(): number; protected hasTransientInputSources(): boolean; protected resolveOutputMode(outputPath: string | undefined): 'directory' | 'file' | undefined; protected isDirectoryOutputTarget(): boolean; protected getEffectiveOutputMode(rawValues: Record, outputPath: string | undefined): 'directory' | 'file' | undefined; protected validateInputPresence(rawValues: Record): number | undefined; protected validateBeforePreparingInputs(rawValues: Record): number | undefined; protected validatePreparedInputs(_preparedInputs: PreparedIntentInputs): number | undefined; protected executePreparedInputs(rawValues: Record, preparedInputs: PreparedIntentInputs): Promise; protected run(): Promise; } export declare abstract class GeneratedWatchableFileIntentCommand extends GeneratedFileIntentCommandBase { watch: boolean; concurrency: number | undefined; protected getCreateOptions(inputs: string[]): Omit; protected validateBeforePreparingInputs(rawValues: Record): number | undefined; protected getSingleAssemblyEnabled(): boolean; protected prefersDirectoryDefaultOutput(): boolean; protected validatePreparedInputs(preparedInputs: PreparedIntentInputs): number | undefined; } export declare abstract class GeneratedStandardFileIntentCommand extends GeneratedWatchableFileIntentCommand { singleAssembly: boolean; protected getSingleAssemblyEnabled(): boolean; protected prefersDirectoryDefaultOutput(): boolean; protected getCreateOptions(inputs: string[]): Omit; protected validateBeforePreparingInputs(rawValues: Record): number | undefined; } export declare abstract class GeneratedBundledFileIntentCommand extends GeneratedFileIntentCommandBase { protected getCreateOptions(inputs: string[]): Omit; } export {}; //# sourceMappingURL=intentRuntime.d.ts.map