export interface GenerationJobDetail { label: string; value: string; } export type GenerationMediaKind = 'image' | 'video' | 'audio'; export type GenerationDimensionMode = 'current' | 'dimensions' | 'aspect_ratio' | 'target_resolution'; export type GenerationQualityTier = 'fast' | 'hq' | 'pro'; export type GenerationModelArgKey = 'model' | 'videoModel' | 'quality'; export interface GenerationJobOption { value: string; label: string; } export interface GenerationJobEditableSettings { toolName: string; mediaKind: GenerationMediaKind; qualityTier?: GenerationQualityTier; qualityOptions?: GenerationQualityTier[]; modelKey?: string; modelArgKey?: GenerationModelArgKey; modelOptions?: GenerationJobOption[]; width?: number; height?: number; aspectRatio?: string; targetResolution?: number; targetResolutionOptions?: number[]; allowQuality?: boolean; allowModel?: boolean; allowDimensions?: boolean; allowAspectRatio?: boolean; allowTargetResolution?: boolean; estimate?: (overrides: GenerationJobOverrides | undefined) => Promise; } export interface GenerationJobOverrides { qualityTier?: GenerationQualityTier; modelKey?: string; dimensionMode?: GenerationDimensionMode; width?: number; height?: number; aspectRatio?: string; targetResolution?: number; } export interface GenerationCostConfirmResult { confirmed: boolean; action?: 'confirm' | 'apply_overrides' | 'timeout'; overrides?: GenerationJobOverrides; thresholdUsd?: number; dontAskAgainForSession?: boolean; } export type GenerationJobConfirmResult = GenerationCostConfirmResult; export interface GenerationJobReference { url: string; label?: string; kind?: 'image' | 'video' | 'audio'; } export interface GenerationJobSummary { mediaKind?: GenerationMediaKind; toolName?: string; model?: string; details?: GenerationJobDetail[]; editable?: GenerationJobEditableSettings; purpose?: string; references?: GenerationJobReference[]; prompt?: string; } export interface GenerationJobEstimate { estimatedTokens: number; estimatedUsd: number | null; jobSummary?: GenerationJobSummary; } export interface GenerationJobOverridesValidation { valid: boolean; message?: string; } export interface ApplyGenerationJobOverridesOptions { modelArgKey?: GenerationModelArgKey; qualityArgKey?: 'quality'; clearModelArgOnQualityOverride?: boolean; } export declare function validateGenerationJobOverrides(overrides: GenerationJobOverrides | undefined): GenerationJobOverridesValidation; export declare function applyGenerationJobOverridesToArgs(args: Record, overrides: GenerationJobOverrides | undefined, options?: ApplyGenerationJobOverridesOptions): Record; //# sourceMappingURL=generationJob.d.ts.map