import * as _praxisui_files_upload from '@praxisui/files-upload'; import * as i0 from '@angular/core'; import { InjectionToken, OnDestroy, NgZone, OnInit, OnChanges, AfterViewInit, EventEmitter, ViewContainerRef, ChangeDetectorRef, DestroyRef, Provider } from '@angular/core'; import { FormControl, ValidatorFn, FormGroup, FormBuilder } from '@angular/forms'; import { PraxisI18nDictionary, PraxisI18nConfig, PraxisI18nService, AsyncConfigStorage, ComponentDocMeta, AiCapability, AiCapabilityCategory, AiCapabilityCatalog, AiValueKind, ComponentAuthoringManifest } from '@praxisui/core'; import { SettingsPanelService, SettingsValueProvider } from '@praxisui/settings-panel'; import { HttpClient, HttpEvent, HttpHeaders } from '@angular/common/http'; import { Observable, BehaviorSubject } from 'rxjs'; import { Overlay } from '@angular/cdk/overlay'; import { SimpleBaseInputComponent } from '@praxisui/dynamic-fields'; import { MatSnackBar } from '@angular/material/snack-bar'; type FilesUploadStrategy = 'direct' | 'presign' | 'auto'; /** * Visual presentation only. * Nothing here should change the backend contract by itself. */ interface FilesUploadVisualConfig { showDropzone?: boolean; accept?: string[]; dense?: boolean; showConflictPolicySelector?: boolean; showMetadataForm?: boolean; showProgress?: boolean; manualUpload?: boolean; dropzone?: { expandOnDragProximity?: boolean; proximityPx?: number; expandMode?: 'overlay' | 'inline'; expandHeight?: number; expandDebounceMs?: number; }; list?: { collapseAfter?: number; detailsMode?: 'card' | 'sidesheet' | 'auto'; detailsMaxWidth?: number; detailsShowTechnical?: boolean; detailsFields?: string[]; detailsAnchor?: 'item' | 'field'; }; } /** * Client-side validation and local flow guards. * These rules are evaluated in the Angular component before the request is sent. */ interface FilesUploadValidationConfig { maxFileSizeBytes?: number; maxFilesPerBulk?: number; maxBulkSizeBytes?: number; } /** * Backend-facing options serialized into the upload request. * These fields influence how the server validates or stores files. */ interface FilesUploadBackendOptionsConfig { defaultConflictPolicy?: 'ERROR' | 'SKIP' | 'OVERWRITE' | 'MAKE_UNIQUE' | 'RENAME'; strictValidation?: boolean; maxUploadSizeMb?: number; allowedExtensions?: string[]; acceptMimeTypes?: string[]; targetDirectory?: string; enableVirusScanning?: boolean; } /** * Transport/execution policy for the upload operation. * This is about how the component performs requests, retries and concurrency. */ interface FilesUploadExecutionConfig { failFast?: boolean; parallelUploads?: number; retryCount?: number; retryBackoffMs?: number; } /** * User experience when quota constraints are reported by the backend. */ interface FilesUploadQuotaFeedbackConfig { showQuotaWarnings?: boolean; blockOnExceed?: boolean; } /** * User experience when rate limiting is reported by the backend. */ interface FilesUploadRateLimitFeedbackConfig { autoRetryOn429?: boolean; showBannerOn429?: boolean; maxAutoRetry?: number; baseBackoffMs?: number; } /** * Header naming used by the host application when contextual headers are needed. */ interface FilesUploadHeadersConfig { tenantHeader?: string; userHeader?: string; } /** * Optional host-provided messages and overrides. */ interface FilesUploadMessagesConfig { successSingle?: string; successBulk?: string; errors?: Record; } /** * Public configuration accepted by the upload component. * * Separation of concerns: * - `ui`: visual presentation * - `limits`: client-side validation and flow constraints * - `options`: backend-facing upload options * - `bulk`: request execution policy * - `quotas` / `rateLimit` / `messages`: feedback and UX behavior */ interface FilesUploadConfig { strategy?: FilesUploadStrategy; ui?: FilesUploadVisualConfig; limits?: FilesUploadValidationConfig; options?: FilesUploadBackendOptionsConfig; bulk?: FilesUploadExecutionConfig; quotas?: FilesUploadQuotaFeedbackConfig; rateLimit?: FilesUploadRateLimitFeedbackConfig; headers?: FilesUploadHeadersConfig; messages?: FilesUploadMessagesConfig; } /** Canonical top-level response status used by the backend. */ type ApiResponseStatus = 'success' | 'partial_success' | 'failure'; /** Standard success envelope returned by the backend. */ interface ApiSuccessEnvelope { status: ApiResponseStatus; message: string; timestamp: string; data: T; } /** Canonical structured error item returned by the backend. */ interface ApiErrorItem { code: string; message: string; details?: unknown; } /** Standard error envelope returned by the backend. */ interface ApiErrorEnvelope { status: ApiResponseStatus; message: string; errors?: ApiErrorItem[]; timestamp?: string; traceId?: string; } /** Standard error response shape. */ type ErrorResponse = ApiErrorEnvelope; /** * Some bulk endpoints still return item errors in a flat shape * (`{ code, message, details }`) instead of the canonical envelope. */ type ErrorLike = ErrorResponse | ApiErrorItem; declare function isErrorEnvelope(value: unknown): value is ErrorResponse; /** Resolves the primary structured error item from the backend error payload. */ declare function getPrimaryErrorItem(error: ErrorLike | null | undefined): ApiErrorItem | undefined; declare enum ScanStatus { PENDING = "PENDING", SCANNING = "SCANNING", CLEAN = "CLEAN", INFECTED = "INFECTED", FAILED = "FAILED" } /** Metadata describing an uploaded file. */ interface FileMetadata { /** Server-generated identifier. */ id: string; /** Original filename. */ fileName: string; /** MIME type as reported or detected. */ contentType: string; /** Size of the file in bytes. */ fileSize: number; /** Upload timestamp in ISO 8601 format. */ uploadedAt: string; /** Tenant responsible for the upload. */ tenantId: string; /** Result of antivirus scan. */ scanStatus: ScanStatus; /** Additional metadata provided during upload. */ metadata?: Record; } /** Result status for each file in a bulk upload operation. */ declare enum BulkUploadResultStatus { SUCCESS = "SUCCESS", FAILED = "FAILED" } /** Raw file payload returned by the current backend contract. */ interface UploadResponseData { originalFilename: string; serverFilename: string; fileId: string; fileSize: number; mimeType: string; uploadTimestamp: string; } /** Response returned after successful single file upload. */ type UploadResponse = ApiSuccessEnvelope; /** Result for a single file in the bulk upload response. */ interface BulkUploadFileResult { /** Original filename. */ fileName: string; /** Resulting status for this file. */ status: BulkUploadResultStatus; /** Metadata returned when the file succeeds. */ file?: FileMetadata; /** Error information when the file fails. */ error?: ErrorLike; } /** Canonical bulk payload returned by the backend inside `data`. */ interface BulkUploadResponseData { totalProcessed: number; totalSuccess: number; totalFailed: number; totalCancelled?: number; wasFailFastTriggered?: boolean; overallSuccess: boolean; processingTimeMs?: number; totalSizeBytes?: number; successRate?: string; results: BulkUploadFileResult[]; metadata?: Record; } /** Bulk upload response returned by the backend. */ type BulkUploadResponse = ApiSuccessEnvelope; declare enum ErrorCode { INVALID_FILE_TYPE = "INVALID_FILE_TYPE", FILE_TOO_LARGE = "FILE_TOO_LARGE", NOT_FOUND = "NOT_FOUND", UNAUTHORIZED = "UNAUTHORIZED", RATE_LIMIT_EXCEEDED = "RATE_LIMIT_EXCEEDED", INTERNAL_ERROR = "INTERNAL_ERROR", QUOTA_EXCEEDED = "QUOTA_EXCEEDED", SEC_VIRUS_DETECTED = "SEC_VIRUS_DETECTED", SEC_MALICIOUS_CONTENT = "SEC_MALICIOUS_CONTENT", SEC_DANGEROUS_TYPE = "SEC_DANGEROUS_TYPE", FMT_MAGIC_MISMATCH = "FMT_MAGIC_MISMATCH", FMT_CORRUPTED = "FMT_CORRUPTED", FMT_UNSUPPORTED = "FMT_UNSUPPORTED", SYS_STORAGE_ERROR = "SYS_STORAGE_ERROR", SYS_SERVICE_DOWN = "SYS_SERVICE_DOWN", SYS_RATE_LIMIT = "SYS_RATE_LIMIT" } /** Options governing server-side upload behavior. */ interface FileUploadOptions { nameConflictPolicy: string; strictValidation: boolean; maxUploadSizeMb: number; allowedExtensions: string[]; acceptMimeTypes: string[]; targetDirectory?: string | null; enableVirusScanning: boolean; customMetadata?: Record; failFastMode: boolean; } /** Configuration for bulk uploads. */ interface BulkConfig { failFastModeDefault: boolean; maxFilesPerBatch: number; maxConcurrentUploads: number; } /** Rate limiting rules. */ interface RateLimitConfig { enabled: boolean; perMinute?: number; perHour?: number; } /** Quota enforcement configuration. */ interface QuotasConfig { enabled: boolean; tenantMaxPerDay?: number; userMaxPerDay?: number; } /** Map of server-provided message codes to friendly messages. */ type ServerMessages = Record; /** Additional metadata returned by the server. */ interface Metadata { version: string; locale: string; } /** Effective upload configuration provided by the backend. */ interface EffectiveUploadConfig { options: FileUploadOptions; bulk: BulkConfig; rateLimit: RateLimitConfig; quotas: QuotasConfig; messages: ServerMessages; metadata: Metadata; } interface PresignResponse { uploadUrl: string; headers?: Record; fields?: Record; } /** * Options for a single file upload. */ interface UploadOptions { /** Backend options JSON (FileUploadOptionsRecord), enviado no campo 'options'. */ optionsJson?: string; /** Metadados por arquivo (serializado em 'metadata'). */ metadata?: Record; /** Política de conflito (serializada em 'conflictPolicy'). */ conflictPolicy?: string; /** Número de tentativas de retry. */ retryCount?: number; } /** * Represents a file for bulk uploads. */ interface BulkUploadFile { file: File; metadata?: Record; conflictPolicy?: string; } /** * Options applied to a bulk upload request. */ interface BulkUploadOptions { /** Backend options JSON (FileUploadOptionsRecord), enviado no campo 'options'. */ optionsJson?: string; /** Override direto do fail-fast do backend. */ failFast?: boolean; /** Número de tentativas de retry. */ retryCount?: number; } declare class FilesApiClient { private readonly http; constructor(http: HttpClient); /** Upload de um único arquivo com metadata/conflictPolicy e options JSON. */ upload(baseUrl: string, file: File, options?: UploadOptions): Observable>; /** Upload múltiplo com arrays de metadata/conflictPolicy e options JSON. */ bulkUpload(baseUrl: string, files: BulkUploadFile[], options?: BulkUploadOptions): Observable>; presign(baseUrl: string, fileName: string): Observable; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare class PresignedUploaderService { private readonly http; constructor(http: HttpClient); /** * Uploads a file to a presigned URL and retries when configured. */ upload(target: PresignResponse, file: File, options?: UploadOptions, retryCount?: number): Observable>; private shouldAppendPraxisFields; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } interface PraxisFilesUploadI18nOptions { locale?: string; fallbackLocale?: string; dictionaries?: Record; } /** @deprecated Use PraxisI18nService/providePraxisFilesUploadI18n instead. */ interface FilesUploadTexts { [key: string]: string | undefined; settingsAriaLabel?: string; dropzoneLabel?: string; dropzoneButton?: string; conflictPolicyLabel?: string; metadataLabel?: string; progressAriaLabel?: string; rateLimitBanner?: string; } /** @deprecated Use PraxisI18nService/providePraxisFilesUploadI18n instead. */ interface TranslateLike { t?(key: string, params?: unknown, fallback?: string): string; instant?(key: string): string; } /** @deprecated Transitional compatibility token. Prefer PraxisI18nService. */ declare const FILES_UPLOAD_TEXTS: InjectionToken; /** @deprecated Transitional compatibility token. Prefer PraxisI18nService. */ declare const TRANSLATE_LIKE: InjectionToken; declare function createPraxisFilesUploadI18nConfig(options?: PraxisFilesUploadI18nOptions): Partial; declare function providePraxisFilesUploadI18n(options?: PraxisFilesUploadI18nOptions): i0.Provider[]; declare function resolvePraxisFilesUploadText(i18n: PraxisI18nService, key: string, fallback: string, legacyTexts?: FilesUploadTexts, legacyTranslate?: TranslateLike): string; interface RateLimitInfo { limit: number; remaining: number; resetEpochSeconds: number; } interface MappedError { message: string; rateLimit?: RateLimitInfo; title?: string; severity?: 'info' | 'warn' | 'error'; category?: string; phase?: string; userAction?: string; } declare const FILES_UPLOAD_ERROR_MESSAGES: InjectionToken>>; declare class ErrorMapperService { private readonly i18n; private readonly customMessages?; private readonly legacyTranslate?; constructor(i18n: PraxisI18nService, customMessages?: Partial> | undefined, legacyTranslate?: TranslateLike | undefined); map(error: ErrorLike, headers?: HttpHeaders): MappedError; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } interface DragPointer { x: number; y: number; } declare class DragProximityService implements OnDestroy { private zone; private draggingWithFiles$; private pointer$; private dragCounter; constructor(zone: NgZone); ngOnDestroy(): void; isDraggingWithFiles(): Observable; pointer(): Observable; withinProximity(rect: DOMRect, proximityPx: number, pt?: DragPointer | null): boolean; private onDragEnter; private onDragLeave; private onDragOver; private onDrop; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * Service responsible for retrieving the effective upload configuration * from the backend and caching it for a short period (60s). */ declare class ConfigService { private http; private cache; constructor(http: HttpClient); private buildCacheKey; /** * Fetches the effective configuration from the server. * @param baseUrl Base URL for the files API (default: `/api/files`). * @param headersProvider Optional callback providing additional headers such as tenant/user. */ getEffectiveConfig(baseUrl?: string, headersProvider?: () => Record): Observable; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } type UploadStartEvent = { files: File[]; mode: 'single' | 'bulk'; strategy: 'direct' | 'presign' | 'auto'; filesUploadId?: string; baseUrl?: string; }; type UploadProgressEvent = { progress: number; loaded: number; total?: number; }; type PendingFilesState = { files: File[]; count: number; hasPending: boolean; }; type FilesUploadReadyState = 'idle' | 'loading' | 'ready'; type FilesUploadReadySource = 'local' | 'server' | 'fallback'; type FilesUploadReadinessEvent = { state: FilesUploadReadyState; source: FilesUploadReadySource; filesUploadId?: string; baseUrl?: string; }; type FilesUploadResolvedTexts = { settingsAriaLabel: string; dropzoneLabel: string; dropzoneButton: string; conflictPolicyLabel: string; metadataLabel: string; progressAriaLabel: string; rateLimitBanner: string; }; declare class PraxisFilesUpload implements OnInit, OnChanges, AfterViewInit, OnDestroy { private settingsPanel; private dragProx; private overlay; private viewContainerRef; private cdr; private configStorage; private i18n; private readonly legacyTexts?; private readonly legacyTranslate?; private configService?; private api?; private presign?; private errors?; config: FilesUploadConfig | null; private _filesUploadId; set filesUploadId(value: string | null | undefined); get filesUploadId(): string; componentInstanceId?: string; baseUrl?: string; displayMode: 'full' | 'compact'; context: Record | null; enableCustomization: boolean; uploadSuccess: EventEmitter; bulkComplete: EventEmitter; error: EventEmitter<_praxisui_files_upload.ApiErrorEnvelope>; rateLimited: EventEmitter; uploadStart: EventEmitter; uploadProgress: EventEmitter; retry: EventEmitter; download: EventEmitter; copyLink: EventEmitter; detailsOpened: EventEmitter; detailsClosed: EventEmitter; pendingStateChange: EventEmitter; proximityChange: EventEmitter; readinessChange: EventEmitter; private fileInput?; private hostRef?; private overlayTmpl?; private selectedOverlayTmpl?; conflictPolicies: Array<'ERROR' | 'SKIP' | 'OVERWRITE' | 'MAKE_UNIQUE' | 'RENAME'>; conflictPolicy: FormControl; uploadProgressValue: number; allowMultiple: boolean; rateLimit: RateLimitInfo | null; quotaExceeded: boolean; errorMessage: string; acceptString: string; metadata: FormControl; uploadedFiles: Array<{ fileName: string; success: boolean; }>; texts: FilesUploadResolvedTexts; lastResults: BulkUploadFileResult[] | null; lastStats: { total: number; succeeded: number; failed: number; } | null; BulkUploadResultStatus: typeof BulkUploadResultStatus; private uploading; isDragging: boolean; private currentFiles; private serverEffective?; readinessState: FilesUploadReadyState; readinessSource: FilesUploadReadySource; showProximityOverlay: boolean; private proxSub?; private proxPtrSub?; private hostRect?; private draggingFiles; private overlayRef?; private escListener; private windowDropListener; private windowDragEndListener; private selectedOverlayRef?; showAllResults: boolean; private initialized; private readonly generatedA11yId; constructor(settingsPanel: SettingsPanelService, dragProx: DragProximityService, overlay: Overlay, viewContainerRef: ViewContainerRef, cdr: ChangeDetectorRef, configStorage: AsyncConfigStorage, i18n: PraxisI18nService, legacyTexts?: FilesUploadTexts | undefined, legacyTranslate?: TranslateLike | undefined, configService?: ConfigService | undefined, api?: FilesApiClient | undefined, presign?: PresignedUploaderService | undefined, errors?: ErrorMapperService | undefined); private readonly componentKeys; private readonly route; private warnedMissingId; private requireApiClient; private requireBaseUrl; get showProgress(): boolean; get isUploading(): boolean; get hasUploadedFiles(): boolean; get pendingFiles(): File[]; get pendingCount(): number; get a11yBaseId(): string; get messageRegionId(): string; get progressRegionId(): string; get conflictPolicyInputId(): string; get metadataInputId(): string; get selectedOverlayTitleId(): string; get hasLastResults(): boolean; openFile(input: HTMLInputElement): void; openFileDialog(): void; displayFileName(f: any): string; formatBytes(bytes: number | undefined | null): string; mapErrorFull(err: unknown): any; get metadataError(): string | null; ngOnInit(): void; ngOnChanges(): void; ngAfterViewInit(): void; ngOnDestroy(): void; private updateHostRect; private evalProximity; private manageOverlay; private ensureOverlay; private syncOverlayGeometry; private disposeOverlay; private manageSelectedOverlay; private ensureSelectedOverlay; private syncSelectedOverlayGeometry; private hideSelectedOverlay; private disposeSelectedOverlay; private hideProximityOverlay; private resolveTexts; t(key: string, fallback: string): string; get selectFilesAriaLabel(): string; get policySummaryAriaLabel(): string; pendingFileRemoveAriaLabel(file: File): string; pendingFileMoreActionsAriaLabel(file: File): string; resultActionAriaLabel(actionKey: string, fallback: string, fileName: string): string; openSettings(): void; private applyConfig; private loadServerEffectiveConfig; private setReadinessState; private storageKey; private componentKeyId; private warnMissingId; onDragOver(evt: DragEvent): void; onDragLeave(_evt: DragEvent): void; onDrop(evt: DragEvent): void; onFilesSelected(evt: Event): void; submitPendingFiles(): void; resetPendingFiles(): void; removePendingFile(file: File): void; private emitPendingState; private startUpload; private shouldUseBulkMode; private directUpload; private uploadMultipleFiles; private uploadMultipleFilesDirect; private uploadSingleFileByStrategy; private uploadSingleFileDirectResult; private buildBulkResponseData; private buildBulkSuccessResult; private buildBulkFailureResult; private normalizeBulkError; private createOperationalError; private normalizeErrorEnvelope; private buildOptionsJson; private handleProgress; private handleError; private finishUpload; private mapUploadResponseToFileMetadata; primaryErrorCode(error: ErrorLike | null | undefined): string; traceIdOf(error: ErrorLike | null | undefined): string | undefined; get visibleResults(): BulkUploadFileResult[]; private fileToBulkUploadFileResult; onRetry(file: File | BulkUploadFileResult): void; onDownload(file: File | BulkUploadFileResult): void; onCopyLink(file: File | BulkUploadFileResult): void; removeResult(item: BulkUploadFileResult): void; toggleDetailsFor(item: BulkUploadFileResult): void; onDetailsToggle(ev: Event, item: BulkUploadFileResult): void; private validateFiles; get policiesSummary(): string; private resolveTemplateString; private resolveContextPath; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class PdxFilesUploadFieldComponent extends SimpleBaseInputComponent { config: FilesUploadConfig | null; valueMode: 'metadata' | 'id' | 'metadata[]' | 'id[]'; baseUrl?: string; uploadSuccess: EventEmitter; bulkComplete: EventEmitter; error: EventEmitter; uploadError: string | null; private uploader?; private pendingTrigger?; private pendingPanel?; pendingFiles: File[]; pendingPanelOpen: boolean; readonly pendingOverlayPositions: ({ originX: "start"; originY: "bottom"; overlayX: "start"; overlayY: "top"; offsetY: number; } | { originX: "start"; originY: "top"; overlayX: "start"; overlayY: "bottom"; offsetY: number; })[]; onTriggerUpload(): void; onClearSelection(): void; handlePendingState(state: PendingFilesState): void; lastFileName: string | null; batchCount: number; isProximityActive: boolean; private readonly errors; private readonly filesUploadI18n; private readonly legacyTexts; private readonly legacyTranslate; get showUploadError(): boolean; private resolveSingleValue; private resolveBulkValue; private applyResolvedValue; private clearUploadState; private applyUploadErrorState; t(key: string, fallback: string): string; get additionalFilesChipAriaLabel(): string; onUploadSuccess(file: FileMetadata): void; onBulkComplete(data: BulkUploadResponseData): void; onUploadError(event: unknown): void; isShellDisabled(): boolean; isUploadingState(): boolean; get shellAriaLabel(): string; get statusSummary(): string; onProximityChange(isActive: boolean): void; openFromShell(): void; get pendingPanelId(): string; togglePendingPanel(): void; closePendingPanel(restoreFocus?: boolean): void; onPendingTriggerKeydown(event: KeyboardEvent): void; onPendingPanelKeydown(event: KeyboardEvent): void; onPendingOverlayDetach(): void; onOpenInfo(): void; onOpenMenu(): void; onClear(): void; get policySummary(): string; onRemovePendingFile(file: File, event: MouseEvent): void; pendingFileSummary(file: File): string; formatBytes(bytes: number): string; private focusPendingPanelSoon; private getNonUploadErrors; private updateUploadValidationState; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare function acceptValidator(allowed: string[]): ValidatorFn; declare function maxFileSizeValidator(maxBytes: number): ValidatorFn; declare function maxFilesPerBulkValidator(maxFiles: number): ValidatorFn; declare function maxBulkSizeValidator(maxBytes: number): ValidatorFn; declare class PraxisFilesUploadConfigEditor implements OnInit, SettingsValueProvider { private fb; private panelData; private snackBar; private destroyRef; private readonly i18n; form: FormGroup; baseUrl?: string; private state; serverLoading: () => boolean; serverData: () => _praxisui_files_upload.EffectiveUploadConfig | undefined; serverError: () => unknown; get uiGroup(): FormGroup; get dropzoneGroup(): FormGroup; get listGroup(): FormGroup; get limitsGroup(): FormGroup; get optionsGroup(): FormGroup; get quotasGroup(): FormGroup; get rateLimitGroup(): FormGroup; get bulkGroup(): FormGroup; get messagesGroup(): FormGroup; get headersGroup(): FormGroup; get errorsGroup(): FormGroup; errorCodes: ErrorCode[]; errorEntries: Array<{ code: string; label: string; }>; isDirty$: BehaviorSubject; isValid$: Observable; isBusy$: BehaviorSubject; jsonError: string | null; tx(key: string, fallback: string): string; private getFriendlyErrorLabel; constructor(fb: FormBuilder, panelData: any, snackBar: MatSnackBar, destroyRef: DestroyRef); ngOnInit(): void; private applyServerConfig; getSettingsValue(): FilesUploadConfig; copyServerConfig(): void; onJsonChange(json: string): void; private getHeadersForFetch; refetchServerConfig(): void; get summaryStrategyTitle(): string; get summaryStrategyDetail(): string; get summaryExperienceTitle(): string; get summaryExperienceDetail(): string; get summaryLimitsTitle(): string; get summaryLimitsDetail(): string; get summaryServerTitle(): string; get summaryServerDetail(): string; get activeRisks(): Array<{ title: string; detail: string; }>; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } interface PraxisFilesUploadWidgetEditorInputs { config?: FilesUploadConfig | null; filesUploadId?: string; componentInstanceId?: string; baseUrl?: string; displayMode?: 'full' | 'compact'; context?: Record | null; enableCustomization?: boolean; [key: string]: unknown; } interface PraxisFilesUploadWidgetEditorValue { inputs: PraxisFilesUploadWidgetEditorInputs; } declare class PraxisFilesUploadWidgetConfigEditor implements SettingsValueProvider, AfterViewInit, OnDestroy { inputs: PraxisFilesUploadWidgetEditorInputs | null; widgetKey?: string; uploadEditor?: PraxisFilesUploadConfigEditor; readonly isDirty$: BehaviorSubject; readonly isValid$: BehaviorSubject; readonly isBusy$: BehaviorSubject; private readonly subscription; ngAfterViewInit(): void; ngOnDestroy(): void; getSettingsValue(): PraxisFilesUploadWidgetEditorValue; onSave(): PraxisFilesUploadWidgetEditorValue; reset(): void; private initializeChildEditor; private buildValue; private normalizeEditorPatch; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare const FILES_UPLOAD_EN_US: { 'praxis.filesUpload.editor.summary.ariaLabel': string; 'praxis.filesUpload.editor.summary.title': string; 'praxis.filesUpload.editor.summary.intro': string; 'praxis.filesUpload.editor.summary.strategy': string; 'praxis.filesUpload.editor.summary.experience': string; 'praxis.filesUpload.editor.summary.limits': string; 'praxis.filesUpload.editor.summary.server': string; 'praxis.filesUpload.editor.risks.title': string; 'praxis.filesUpload.editor.risks.none': string; 'praxis.filesUpload.editor.tabs.behavior': string; 'praxis.filesUpload.editor.tabs.interface': string; 'praxis.filesUpload.editor.tabs.validation': string; 'praxis.filesUpload.editor.tabs.messages': string; 'praxis.filesUpload.editor.tabs.server': string; 'praxis.filesUpload.editor.tabs.json': string; 'praxis.filesUpload.editor.behavior.intro.title': string; 'praxis.filesUpload.editor.behavior.intro.body': string; 'praxis.filesUpload.editor.behavior.strategy.label': string; 'praxis.filesUpload.editor.behavior.strategy.direct': string; 'praxis.filesUpload.editor.behavior.strategy.presign': string; 'praxis.filesUpload.editor.behavior.strategy.auto': string; 'praxis.filesUpload.editor.behavior.strategy.hint': string; 'praxis.filesUpload.editor.behavior.bulk.title': string; 'praxis.filesUpload.editor.behavior.bulk.note': string; 'praxis.filesUpload.editor.behavior.bulk.parallel': string; 'praxis.filesUpload.editor.behavior.bulk.parallelHint': string; 'praxis.filesUpload.editor.behavior.bulk.retryCount': string; 'praxis.filesUpload.editor.behavior.bulk.retryCountHint': string; 'praxis.filesUpload.editor.behavior.bulk.retryBackoff': string; 'praxis.filesUpload.editor.behavior.bulk.retryBackoffHint': string; 'praxis.filesUpload.editor.interface.intro.title': string; 'praxis.filesUpload.editor.interface.intro.body': string; 'praxis.filesUpload.editor.interface.section.title': string; 'praxis.filesUpload.editor.interface.section.note': string; 'praxis.filesUpload.editor.interface.showDropzone': string; 'praxis.filesUpload.editor.interface.showProgress': string; 'praxis.filesUpload.editor.interface.showConflictPolicySelector': string; 'praxis.filesUpload.editor.interface.manualUpload': string; 'praxis.filesUpload.editor.interface.dense': string; 'praxis.filesUpload.editor.interface.accept': string; 'praxis.filesUpload.editor.shared.optionalTag': string; 'praxis.filesUpload.editor.shared.csvOptional': string; 'praxis.filesUpload.editor.placeholders.accept': string; 'praxis.filesUpload.editor.placeholders.detailsFields': string; 'praxis.filesUpload.editor.placeholders.allowedExtensions': string; 'praxis.filesUpload.editor.placeholders.acceptMimeTypes': string; 'praxis.filesUpload.editor.placeholders.targetDirectory': string; 'praxis.filesUpload.editor.placeholders.successSingle': string; 'praxis.filesUpload.editor.placeholders.successBulk': string; 'praxis.filesUpload.editor.placeholders.tenantValue': string; 'praxis.filesUpload.editor.placeholders.userValue': string; 'praxis.filesUpload.editor.interface.metadataForm': string; 'praxis.filesUpload.editor.interface.dropzone.title': string; 'praxis.filesUpload.editor.interface.dropzone.expandOnProximity': string; 'praxis.filesUpload.editor.interface.dropzone.proximity': string; 'praxis.filesUpload.editor.interface.dropzone.mode': string; 'praxis.filesUpload.editor.interface.dropzone.mode.overlay': string; 'praxis.filesUpload.editor.interface.dropzone.mode.inline': string; 'praxis.filesUpload.editor.interface.dropzone.height': string; 'praxis.filesUpload.editor.interface.dropzone.debounce': string; 'praxis.filesUpload.editor.interface.list.title': string; 'praxis.filesUpload.editor.interface.list.collapseAfter': string; 'praxis.filesUpload.editor.interface.list.detailsMode': string; 'praxis.filesUpload.editor.interface.list.detailsMode.auto': string; 'praxis.filesUpload.editor.interface.list.detailsMode.card': string; 'praxis.filesUpload.editor.interface.list.detailsMode.sidesheet': string; 'praxis.filesUpload.editor.interface.list.detailsWidth': string; 'praxis.filesUpload.editor.interface.list.showTechnical': string; 'praxis.filesUpload.editor.interface.list.detailsFields': string; 'praxis.filesUpload.editor.interface.list.detailsFieldsHint': string; 'praxis.filesUpload.editor.interface.list.anchor': string; 'praxis.filesUpload.editor.interface.list.anchor.item': string; 'praxis.filesUpload.editor.interface.list.anchor.field': string; 'praxis.filesUpload.editor.validation.intro.title': string; 'praxis.filesUpload.editor.validation.intro.body': string; 'praxis.filesUpload.editor.validation.local.title': string; 'praxis.filesUpload.editor.validation.local.note': string; 'praxis.filesUpload.editor.validation.local.maxFileSize': string; 'praxis.filesUpload.editor.validation.local.maxFileSizeHint': string; 'praxis.filesUpload.editor.validation.local.maxFilesPerBulk': string; 'praxis.filesUpload.editor.validation.local.maxBulkSize': string; 'praxis.filesUpload.editor.validation.backend.title': string; 'praxis.filesUpload.editor.validation.backend.note': string; 'praxis.filesUpload.editor.validation.backend.conflictPolicy': string; 'praxis.filesUpload.editor.validation.backend.conflictPolicy.rename': string; 'praxis.filesUpload.editor.validation.backend.conflictPolicy.unique': string; 'praxis.filesUpload.editor.validation.backend.conflictPolicy.overwrite': string; 'praxis.filesUpload.editor.validation.backend.conflictPolicy.skip': string; 'praxis.filesUpload.editor.validation.backend.conflictPolicy.error': string; 'praxis.filesUpload.editor.validation.backend.conflictPolicyHint': string; 'praxis.filesUpload.editor.validation.backend.overwriteWarn': string; 'praxis.filesUpload.editor.validation.backend.strictValidation': string; 'praxis.filesUpload.editor.validation.backend.maxUploadSizeMb': string; 'praxis.filesUpload.editor.validation.backend.maxUploadSizeMbHint': string; 'praxis.filesUpload.editor.validation.backend.allowedExtensions': string; 'praxis.filesUpload.editor.validation.backend.acceptMimeTypes': string; 'praxis.filesUpload.editor.validation.backend.targetDirectory': string; 'praxis.filesUpload.editor.validation.backend.enableVirusScanning': string; 'praxis.filesUpload.editor.validation.backend.virusWarn': string; 'praxis.filesUpload.editor.validation.quotas.title': string; 'praxis.filesUpload.editor.validation.quotas.showWarnings': string; 'praxis.filesUpload.editor.validation.quotas.blockOnExceed': string; 'praxis.filesUpload.editor.validation.rateLimit.title': string; 'praxis.filesUpload.editor.validation.rateLimit.note': string; 'praxis.filesUpload.editor.validation.rateLimit.showBanner': string; 'praxis.filesUpload.editor.validation.rateLimit.autoRetry': string; 'praxis.filesUpload.editor.validation.rateLimit.maxAutoRetry': string; 'praxis.filesUpload.editor.validation.rateLimit.baseBackoff': string; 'praxis.filesUpload.editor.validation.batch.title': string; 'praxis.filesUpload.editor.validation.batch.failFast': string; 'praxis.filesUpload.editor.messages.intro.title': string; 'praxis.filesUpload.editor.messages.intro.body': string; 'praxis.filesUpload.editor.messages.section.title': string; 'praxis.filesUpload.editor.messages.section.note': string; 'praxis.filesUpload.editor.messages.successSingle': string; 'praxis.filesUpload.editor.messages.successBulk': string; 'praxis.filesUpload.editor.tabs.headers': string; 'praxis.filesUpload.editor.headers.intro.title': string; 'praxis.filesUpload.editor.headers.intro.body': string; 'praxis.filesUpload.editor.headers.section.title': string; 'praxis.filesUpload.editor.headers.tenantHeader': string; 'praxis.filesUpload.editor.headers.tenantValue': string; 'praxis.filesUpload.editor.headers.userHeader': string; 'praxis.filesUpload.editor.headers.userValue': string; 'praxis.filesUpload.editor.errors.INVALID_FILE_TYPE': string; 'praxis.filesUpload.editor.errors.FILE_TOO_LARGE': string; 'praxis.filesUpload.editor.errors.NOT_FOUND': string; 'praxis.filesUpload.editor.errors.UNAUTHORIZED': string; 'praxis.filesUpload.editor.errors.RATE_LIMIT_EXCEEDED': string; 'praxis.filesUpload.editor.errors.INTERNAL_ERROR': string; 'praxis.filesUpload.editor.errors.QUOTA_EXCEEDED': string; 'praxis.filesUpload.editor.errors.SEC_VIRUS_DETECTED': string; 'praxis.filesUpload.editor.errors.SEC_MALICIOUS_CONTENT': string; 'praxis.filesUpload.editor.errors.SEC_DANGEROUS_TYPE': string; 'praxis.filesUpload.editor.errors.FMT_MAGIC_MISMATCH': string; 'praxis.filesUpload.editor.errors.FMT_CORRUPTED': string; 'praxis.filesUpload.editor.errors.FMT_UNSUPPORTED': string; 'praxis.filesUpload.editor.errors.SYS_STORAGE_ERROR': string; 'praxis.filesUpload.editor.errors.SYS_SERVICE_DOWN': string; 'praxis.filesUpload.editor.errors.SYS_RATE_LIMIT': string; 'praxis.filesUpload.editor.server.summary.maxPerFile': string; 'praxis.filesUpload.editor.server.summary.strictValidation': string; 'praxis.filesUpload.editor.server.summary.antivirus': string; 'praxis.filesUpload.editor.server.summary.conflictPolicy': string; 'praxis.filesUpload.editor.server.summary.mimeTypes': string; 'praxis.filesUpload.editor.server.summary.bulkFailFast': string; 'praxis.filesUpload.editor.server.summary.rateLimit': string; 'praxis.filesUpload.editor.server.summary.quotas': string; 'praxis.filesUpload.editor.server.summary.server': string; 'praxis.filesUpload.editor.server.mutableOptionsText': string; 'praxis.filesUpload.editor.server.intro.title': string; 'praxis.filesUpload.editor.server.intro.body': string; 'praxis.filesUpload.editor.server.readonly': string; 'praxis.filesUpload.editor.server.reload': string; 'praxis.filesUpload.editor.server.baseUrlHint': string; 'praxis.filesUpload.editor.server.loading': string; 'praxis.filesUpload.editor.server.loadError': string; 'praxis.filesUpload.editor.server.summaryTitle': string; 'praxis.filesUpload.editor.server.viewJson': string; 'praxis.filesUpload.editor.server.copyJson': string; 'praxis.filesUpload.editor.server.mutableOptionsPrefix': string; 'praxis.filesUpload.editor.json.intro.title': string; 'praxis.filesUpload.editor.json.intro.body': string; 'praxis.filesUpload.editor.json.note': string; 'praxis.filesUpload.editor.snackbar.configCopied': string; 'praxis.filesUpload.editor.snackbar.invalidJson': string; 'praxis.filesUpload.editor.json.invalid': string; 'praxis.filesUpload.editor.summary.strategy.presign': string; 'praxis.filesUpload.editor.summary.strategy.auto': string; 'praxis.filesUpload.editor.summary.strategy.direct': string; 'praxis.filesUpload.editor.summary.strategy.presignDetail': string; 'praxis.filesUpload.editor.summary.strategy.autoDetail': string; 'praxis.filesUpload.editor.summary.strategy.directDetail': string; 'praxis.filesUpload.editor.summary.experience.manual': string; 'praxis.filesUpload.editor.summary.experience.compact': string; 'praxis.filesUpload.editor.summary.experience.dropzone': string; 'praxis.filesUpload.editor.summary.experience.progressVisible': string; 'praxis.filesUpload.editor.summary.experience.progressHidden': string; 'praxis.filesUpload.editor.summary.experience.conflictVisible': string; 'praxis.filesUpload.editor.summary.experience.conflictHidden': string; 'praxis.filesUpload.editor.summary.experience.metadataVisible': string; 'praxis.filesUpload.editor.summary.experience.metadataHidden': string; 'praxis.filesUpload.editor.summary.limits.titleValue': string; 'praxis.filesUpload.editor.summary.limits.detailValue': string; 'praxis.filesUpload.editor.summary.limits.failFast': string; 'praxis.filesUpload.editor.summary.limits.partialFailures': string; 'praxis.filesUpload.editor.summary.server.titleValue': string; 'praxis.filesUpload.editor.summary.server.detailValue': string; 'praxis.filesUpload.editor.summary.server.strictOn': string; 'praxis.filesUpload.editor.summary.server.strictOff': string; 'praxis.filesUpload.editor.summary.server.virusOn': string; 'praxis.filesUpload.editor.summary.server.virusOff': string; 'praxis.filesUpload.editor.risks.overwrite.title': string; 'praxis.filesUpload.editor.risks.overwrite.detail': string; 'praxis.filesUpload.editor.risks.virus.title': string; 'praxis.filesUpload.editor.risks.virus.detail': string; 'praxis.filesUpload.editor.risks.failFast.title': string; 'praxis.filesUpload.editor.risks.failFast.detail': string; 'praxis.filesUpload.editor.risks.retry.title': string; 'praxis.filesUpload.editor.risks.retry.detail': string; 'praxis.filesUpload.editor.risks.manual.title': string; 'praxis.filesUpload.editor.risks.manual.detail': string; 'praxis.filesUpload.settingsAriaLabel': string; 'praxis.filesUpload.dropzoneLabel': string; 'praxis.filesUpload.dropzoneButton': string; 'praxis.filesUpload.conflictPolicyLabel': string; 'praxis.filesUpload.metadataLabel': string; 'praxis.filesUpload.progressAriaLabel': string; 'praxis.filesUpload.rateLimitBanner': string; 'praxis.filesUpload.settingsTitle': string; 'praxis.filesUpload.statusSuccess': string; 'praxis.filesUpload.statusError': string; 'praxis.filesUpload.invalidMetadata': string; 'praxis.filesUpload.genericUploadError': string; 'praxis.filesUpload.acceptError': string; 'praxis.filesUpload.maxFileSizeError': string; 'praxis.filesUpload.maxFilesPerBulkError': string; 'praxis.filesUpload.maxBulkSizeError': string; 'praxis.filesUpload.serviceUnavailable': string; 'praxis.filesUpload.baseUrlMissing': string; 'praxis.filesUpload.selectFiles': string; 'praxis.filesUpload.remove': string; 'praxis.filesUpload.moreActions': string; 'praxis.filesUpload.policySummaryAction': string; 'praxis.filesUpload.retry': string; 'praxis.filesUpload.download': string; 'praxis.filesUpload.copyLink': string; 'praxis.filesUpload.details': string; 'praxis.filesUpload.detailsMetadata': string; 'praxis.filesUpload.dropzoneHint': string; 'praxis.filesUpload.dropzoneProximityHint': string; 'praxis.filesUpload.placeholder': string; 'praxis.filesUpload.partialUploadError': string; 'praxis.filesUpload.presignMetadataMissing': string; 'praxis.filesUpload.fieldChipAria': string; 'praxis.filesUpload.fieldPendingCountSuffix': string; 'praxis.filesUpload.removePendingFile': string; 'praxis.filesUpload.fieldPolicyTypes': string; 'praxis.filesUpload.fieldPolicyMaxPerFile': string; 'praxis.filesUpload.fieldPolicyMaxItems': string; 'praxis.filesUpload.fieldPolicyNotConfigured': string; 'praxis.filesUpload.sizeUnitBytes': string; 'praxis.filesUpload.sizeUnitKB': string; 'praxis.filesUpload.sizeUnitMB': string; 'praxis.filesUpload.sizeUnitGB': string; 'praxis.filesUpload.sizeUnitTB': string; 'praxis.filesUpload.errors.INVALID_FILE_TYPE': string; 'praxis.filesUpload.errors.FILE_TOO_LARGE': string; 'praxis.filesUpload.errors.NOT_FOUND': string; 'praxis.filesUpload.errors.UNAUTHORIZED': string; 'praxis.filesUpload.errors.RATE_LIMIT_EXCEEDED': string; 'praxis.filesUpload.errors.INTERNAL_ERROR': string; 'praxis.filesUpload.errors.QUOTA_EXCEEDED': string; 'praxis.filesUpload.errors.SEC_VIRUS_DETECTED': string; 'praxis.filesUpload.errors.SEC_MALICIOUS_CONTENT': string; 'praxis.filesUpload.errors.SEC_DANGEROUS_TYPE': string; 'praxis.filesUpload.errors.FMT_MAGIC_MISMATCH': string; 'praxis.filesUpload.errors.FMT_CORRUPTED': string; 'praxis.filesUpload.errors.FMT_UNSUPPORTED': string; 'praxis.filesUpload.errors.SYS_STORAGE_ERROR': string; 'praxis.filesUpload.errors.SYS_SERVICE_DOWN': string; 'praxis.filesUpload.errors.SYS_RATE_LIMIT': string; 'praxis.filesUpload.errors.ARQUIVO_MUITO_GRANDE': string; 'praxis.filesUpload.errors.TIPO_ARQUIVO_INVALIDO': string; 'praxis.filesUpload.errors.TIPO_MIDIA_NAO_SUPORTADO': string; 'praxis.filesUpload.errors.CAMPO_OBRIGATORIO_AUSENTE': string; 'praxis.filesUpload.errors.OPCOES_JSON_INVALIDAS': string; 'praxis.filesUpload.errors.ARGUMENTO_INVALIDO': string; 'praxis.filesUpload.errors.NAO_AUTORIZADO': string; 'praxis.filesUpload.errors.ERRO_INTERNO': string; 'praxis.filesUpload.errors.LIMITE_TAXA_EXCEDIDO': string; 'praxis.filesUpload.errors.COTA_EXCEDIDA': string; 'praxis.filesUpload.errors.ARQUIVO_JA_EXISTE': string; 'praxis.filesUpload.errors.INVALID_JSON_OPTIONS': string; 'praxis.filesUpload.errors.EMPTY_FILENAME': string; 'praxis.filesUpload.errors.FILE_EXISTS': string; 'praxis.filesUpload.errors.PATH_TRAVERSAL': string; 'praxis.filesUpload.errors.INSUFFICIENT_STORAGE': string; 'praxis.filesUpload.errors.UPLOAD_TIMEOUT': string; 'praxis.filesUpload.errors.BULK_UPLOAD_TIMEOUT': string; 'praxis.filesUpload.errors.BULK_UPLOAD_CANCELLED': string; 'praxis.filesUpload.errors.USER_CANCELLED': string; 'praxis.filesUpload.errors.UNKNOWN_ERROR': string; 'praxis.filesUpload.fieldPendingSummary': string; 'praxis.filesUpload.fieldSelectedSummary': string; 'praxis.filesUpload.fieldSelectedPlural': string; 'praxis.filesUpload.fieldEmptySummary': string; 'praxis.filesUpload.fieldErrorSummary': string; 'praxis.filesUpload.fieldActionUpload': string; 'praxis.filesUpload.fieldActionUploadShort': string; 'praxis.filesUpload.fieldActionCancel': string; 'praxis.filesUpload.fieldActionCancelShort': string; 'praxis.filesUpload.fieldActionSelect': string; 'praxis.filesUpload.fieldActionClear': string; 'praxis.filesUpload.fieldInfoAction': string; 'praxis.filesUpload.fieldMoreActions': string; 'praxis.filesUpload.fieldPendingAriaSuffix': string; 'praxis.filesUpload.selectedOverlayAriaLabel': string; 'praxis.filesUpload.selectedOverlayTitle': string; 'praxis.filesUpload.bulkSummaryTotal': string; 'praxis.filesUpload.bulkSummarySuccess': string; 'praxis.filesUpload.bulkSummaryFailed': string; 'praxis.filesUpload.resultMetaIdLabel': string; 'praxis.filesUpload.resultMetaTypeLabel': string; 'praxis.filesUpload.resultMetaSizeLabel': string; 'praxis.filesUpload.resultMetaUploadedAtLabel': string; 'praxis.filesUpload.policySummaryAny': string; 'praxis.filesUpload.policySummaryNotConfigured': string; 'praxis.filesUpload.policySummaryTypesLabel': string; 'praxis.filesUpload.policySummaryMaxPerFileLabel': string; 'praxis.filesUpload.policySummaryQuantityLabel': string; 'praxis.filesUpload.showAll': string; 'praxis.filesUpload.showLess': string; }; declare const FILES_UPLOAD_PT_BR: { 'praxis.filesUpload.editor.summary.ariaLabel': string; 'praxis.filesUpload.editor.summary.title': string; 'praxis.filesUpload.editor.summary.intro': string; 'praxis.filesUpload.editor.summary.strategy': string; 'praxis.filesUpload.editor.summary.experience': string; 'praxis.filesUpload.editor.summary.limits': string; 'praxis.filesUpload.editor.summary.server': string; 'praxis.filesUpload.editor.risks.title': string; 'praxis.filesUpload.editor.risks.none': string; 'praxis.filesUpload.editor.tabs.behavior': string; 'praxis.filesUpload.editor.tabs.interface': string; 'praxis.filesUpload.editor.tabs.validation': string; 'praxis.filesUpload.editor.tabs.messages': string; 'praxis.filesUpload.editor.tabs.server': string; 'praxis.filesUpload.editor.tabs.json': string; 'praxis.filesUpload.editor.behavior.intro.title': string; 'praxis.filesUpload.editor.behavior.intro.body': string; 'praxis.filesUpload.editor.behavior.strategy.label': string; 'praxis.filesUpload.editor.behavior.strategy.direct': string; 'praxis.filesUpload.editor.behavior.strategy.presign': string; 'praxis.filesUpload.editor.behavior.strategy.auto': string; 'praxis.filesUpload.editor.behavior.strategy.hint': string; 'praxis.filesUpload.editor.behavior.bulk.title': string; 'praxis.filesUpload.editor.behavior.bulk.note': string; 'praxis.filesUpload.editor.behavior.bulk.parallel': string; 'praxis.filesUpload.editor.behavior.bulk.parallelHint': string; 'praxis.filesUpload.editor.behavior.bulk.retryCount': string; 'praxis.filesUpload.editor.behavior.bulk.retryCountHint': string; 'praxis.filesUpload.editor.behavior.bulk.retryBackoff': string; 'praxis.filesUpload.editor.behavior.bulk.retryBackoffHint': string; 'praxis.filesUpload.editor.interface.intro.title': string; 'praxis.filesUpload.editor.interface.intro.body': string; 'praxis.filesUpload.editor.interface.section.title': string; 'praxis.filesUpload.editor.interface.section.note': string; 'praxis.filesUpload.editor.interface.showDropzone': string; 'praxis.filesUpload.editor.interface.showProgress': string; 'praxis.filesUpload.editor.interface.showConflictPolicySelector': string; 'praxis.filesUpload.editor.interface.manualUpload': string; 'praxis.filesUpload.editor.interface.dense': string; 'praxis.filesUpload.editor.interface.accept': string; 'praxis.filesUpload.editor.shared.optionalTag': string; 'praxis.filesUpload.editor.shared.csvOptional': string; 'praxis.filesUpload.editor.placeholders.accept': string; 'praxis.filesUpload.editor.placeholders.detailsFields': string; 'praxis.filesUpload.editor.placeholders.allowedExtensions': string; 'praxis.filesUpload.editor.placeholders.acceptMimeTypes': string; 'praxis.filesUpload.editor.placeholders.targetDirectory': string; 'praxis.filesUpload.editor.placeholders.successSingle': string; 'praxis.filesUpload.editor.placeholders.successBulk': string; 'praxis.filesUpload.editor.placeholders.tenantValue': string; 'praxis.filesUpload.editor.placeholders.userValue': string; 'praxis.filesUpload.editor.interface.metadataForm': string; 'praxis.filesUpload.editor.interface.dropzone.title': string; 'praxis.filesUpload.editor.interface.dropzone.expandOnProximity': string; 'praxis.filesUpload.editor.interface.dropzone.proximity': string; 'praxis.filesUpload.editor.interface.dropzone.mode': string; 'praxis.filesUpload.editor.interface.dropzone.mode.overlay': string; 'praxis.filesUpload.editor.interface.dropzone.mode.inline': string; 'praxis.filesUpload.editor.interface.dropzone.height': string; 'praxis.filesUpload.editor.interface.dropzone.debounce': string; 'praxis.filesUpload.editor.interface.list.title': string; 'praxis.filesUpload.editor.interface.list.collapseAfter': string; 'praxis.filesUpload.editor.interface.list.detailsMode': string; 'praxis.filesUpload.editor.interface.list.detailsMode.auto': string; 'praxis.filesUpload.editor.interface.list.detailsMode.card': string; 'praxis.filesUpload.editor.interface.list.detailsMode.sidesheet': string; 'praxis.filesUpload.editor.interface.list.detailsWidth': string; 'praxis.filesUpload.editor.interface.list.showTechnical': string; 'praxis.filesUpload.editor.interface.list.detailsFields': string; 'praxis.filesUpload.editor.interface.list.detailsFieldsHint': string; 'praxis.filesUpload.editor.interface.list.anchor': string; 'praxis.filesUpload.editor.interface.list.anchor.item': string; 'praxis.filesUpload.editor.interface.list.anchor.field': string; 'praxis.filesUpload.editor.validation.intro.title': string; 'praxis.filesUpload.editor.validation.intro.body': string; 'praxis.filesUpload.editor.validation.local.title': string; 'praxis.filesUpload.editor.validation.local.note': string; 'praxis.filesUpload.editor.validation.local.maxFileSize': string; 'praxis.filesUpload.editor.validation.local.maxFileSizeHint': string; 'praxis.filesUpload.editor.validation.local.maxFilesPerBulk': string; 'praxis.filesUpload.editor.validation.local.maxBulkSize': string; 'praxis.filesUpload.editor.validation.backend.title': string; 'praxis.filesUpload.editor.validation.backend.note': string; 'praxis.filesUpload.editor.validation.backend.conflictPolicy': string; 'praxis.filesUpload.editor.validation.backend.conflictPolicy.rename': string; 'praxis.filesUpload.editor.validation.backend.conflictPolicy.unique': string; 'praxis.filesUpload.editor.validation.backend.conflictPolicy.overwrite': string; 'praxis.filesUpload.editor.validation.backend.conflictPolicy.skip': string; 'praxis.filesUpload.editor.validation.backend.conflictPolicy.error': string; 'praxis.filesUpload.editor.validation.backend.conflictPolicyHint': string; 'praxis.filesUpload.editor.validation.backend.overwriteWarn': string; 'praxis.filesUpload.editor.validation.backend.strictValidation': string; 'praxis.filesUpload.editor.validation.backend.maxUploadSizeMb': string; 'praxis.filesUpload.editor.validation.backend.maxUploadSizeMbHint': string; 'praxis.filesUpload.editor.validation.backend.allowedExtensions': string; 'praxis.filesUpload.editor.validation.backend.acceptMimeTypes': string; 'praxis.filesUpload.editor.validation.backend.targetDirectory': string; 'praxis.filesUpload.editor.validation.backend.enableVirusScanning': string; 'praxis.filesUpload.editor.validation.backend.virusWarn': string; 'praxis.filesUpload.editor.validation.quotas.title': string; 'praxis.filesUpload.editor.validation.quotas.showWarnings': string; 'praxis.filesUpload.editor.validation.quotas.blockOnExceed': string; 'praxis.filesUpload.editor.validation.rateLimit.title': string; 'praxis.filesUpload.editor.validation.rateLimit.note': string; 'praxis.filesUpload.editor.validation.rateLimit.showBanner': string; 'praxis.filesUpload.editor.validation.rateLimit.autoRetry': string; 'praxis.filesUpload.editor.validation.rateLimit.maxAutoRetry': string; 'praxis.filesUpload.editor.validation.rateLimit.baseBackoff': string; 'praxis.filesUpload.editor.validation.batch.title': string; 'praxis.filesUpload.editor.validation.batch.failFast': string; 'praxis.filesUpload.editor.messages.intro.title': string; 'praxis.filesUpload.editor.messages.intro.body': string; 'praxis.filesUpload.editor.messages.section.title': string; 'praxis.filesUpload.editor.messages.section.note': string; 'praxis.filesUpload.editor.messages.successSingle': string; 'praxis.filesUpload.editor.messages.successBulk': string; 'praxis.filesUpload.editor.tabs.headers': string; 'praxis.filesUpload.editor.headers.intro.title': string; 'praxis.filesUpload.editor.headers.intro.body': string; 'praxis.filesUpload.editor.headers.section.title': string; 'praxis.filesUpload.editor.headers.tenantHeader': string; 'praxis.filesUpload.editor.headers.tenantValue': string; 'praxis.filesUpload.editor.headers.userHeader': string; 'praxis.filesUpload.editor.headers.userValue': string; 'praxis.filesUpload.editor.errors.INVALID_FILE_TYPE': string; 'praxis.filesUpload.editor.errors.FILE_TOO_LARGE': string; 'praxis.filesUpload.editor.errors.NOT_FOUND': string; 'praxis.filesUpload.editor.errors.UNAUTHORIZED': string; 'praxis.filesUpload.editor.errors.RATE_LIMIT_EXCEEDED': string; 'praxis.filesUpload.editor.errors.INTERNAL_ERROR': string; 'praxis.filesUpload.editor.errors.QUOTA_EXCEEDED': string; 'praxis.filesUpload.editor.errors.SEC_VIRUS_DETECTED': string; 'praxis.filesUpload.editor.errors.SEC_MALICIOUS_CONTENT': string; 'praxis.filesUpload.editor.errors.SEC_DANGEROUS_TYPE': string; 'praxis.filesUpload.editor.errors.FMT_MAGIC_MISMATCH': string; 'praxis.filesUpload.editor.errors.FMT_CORRUPTED': string; 'praxis.filesUpload.editor.errors.FMT_UNSUPPORTED': string; 'praxis.filesUpload.editor.errors.SYS_STORAGE_ERROR': string; 'praxis.filesUpload.editor.errors.SYS_SERVICE_DOWN': string; 'praxis.filesUpload.editor.errors.SYS_RATE_LIMIT': string; 'praxis.filesUpload.editor.server.summary.maxPerFile': string; 'praxis.filesUpload.editor.server.summary.strictValidation': string; 'praxis.filesUpload.editor.server.summary.antivirus': string; 'praxis.filesUpload.editor.server.summary.conflictPolicy': string; 'praxis.filesUpload.editor.server.summary.mimeTypes': string; 'praxis.filesUpload.editor.server.summary.bulkFailFast': string; 'praxis.filesUpload.editor.server.summary.rateLimit': string; 'praxis.filesUpload.editor.server.summary.quotas': string; 'praxis.filesUpload.editor.server.summary.server': string; 'praxis.filesUpload.editor.server.mutableOptionsText': string; 'praxis.filesUpload.editor.server.intro.title': string; 'praxis.filesUpload.editor.server.intro.body': string; 'praxis.filesUpload.editor.server.readonly': string; 'praxis.filesUpload.editor.server.reload': string; 'praxis.filesUpload.editor.server.baseUrlHint': string; 'praxis.filesUpload.editor.server.loading': string; 'praxis.filesUpload.editor.server.loadError': string; 'praxis.filesUpload.editor.server.summaryTitle': string; 'praxis.filesUpload.editor.server.viewJson': string; 'praxis.filesUpload.editor.server.copyJson': string; 'praxis.filesUpload.editor.server.mutableOptionsPrefix': string; 'praxis.filesUpload.editor.json.intro.title': string; 'praxis.filesUpload.editor.json.intro.body': string; 'praxis.filesUpload.editor.json.note': string; 'praxis.filesUpload.editor.snackbar.configCopied': string; 'praxis.filesUpload.editor.snackbar.invalidJson': string; 'praxis.filesUpload.editor.json.invalid': string; 'praxis.filesUpload.editor.summary.strategy.presign': string; 'praxis.filesUpload.editor.summary.strategy.auto': string; 'praxis.filesUpload.editor.summary.strategy.direct': string; 'praxis.filesUpload.editor.summary.strategy.presignDetail': string; 'praxis.filesUpload.editor.summary.strategy.autoDetail': string; 'praxis.filesUpload.editor.summary.strategy.directDetail': string; 'praxis.filesUpload.editor.summary.experience.manual': string; 'praxis.filesUpload.editor.summary.experience.compact': string; 'praxis.filesUpload.editor.summary.experience.dropzone': string; 'praxis.filesUpload.editor.summary.experience.progressVisible': string; 'praxis.filesUpload.editor.summary.experience.progressHidden': string; 'praxis.filesUpload.editor.summary.experience.conflictVisible': string; 'praxis.filesUpload.editor.summary.experience.conflictHidden': string; 'praxis.filesUpload.editor.summary.experience.metadataVisible': string; 'praxis.filesUpload.editor.summary.experience.metadataHidden': string; 'praxis.filesUpload.editor.summary.limits.titleValue': string; 'praxis.filesUpload.editor.summary.limits.detailValue': string; 'praxis.filesUpload.editor.summary.limits.failFast': string; 'praxis.filesUpload.editor.summary.limits.partialFailures': string; 'praxis.filesUpload.editor.summary.server.titleValue': string; 'praxis.filesUpload.editor.summary.server.detailValue': string; 'praxis.filesUpload.editor.summary.server.strictOn': string; 'praxis.filesUpload.editor.summary.server.strictOff': string; 'praxis.filesUpload.editor.summary.server.virusOn': string; 'praxis.filesUpload.editor.summary.server.virusOff': string; 'praxis.filesUpload.editor.risks.overwrite.title': string; 'praxis.filesUpload.editor.risks.overwrite.detail': string; 'praxis.filesUpload.editor.risks.virus.title': string; 'praxis.filesUpload.editor.risks.virus.detail': string; 'praxis.filesUpload.editor.risks.failFast.title': string; 'praxis.filesUpload.editor.risks.failFast.detail': string; 'praxis.filesUpload.editor.risks.retry.title': string; 'praxis.filesUpload.editor.risks.retry.detail': string; 'praxis.filesUpload.editor.risks.manual.title': string; 'praxis.filesUpload.editor.risks.manual.detail': string; 'praxis.filesUpload.settingsAriaLabel': string; 'praxis.filesUpload.dropzoneLabel': string; 'praxis.filesUpload.dropzoneButton': string; 'praxis.filesUpload.conflictPolicyLabel': string; 'praxis.filesUpload.metadataLabel': string; 'praxis.filesUpload.progressAriaLabel': string; 'praxis.filesUpload.rateLimitBanner': string; 'praxis.filesUpload.settingsTitle': string; 'praxis.filesUpload.statusSuccess': string; 'praxis.filesUpload.statusError': string; 'praxis.filesUpload.invalidMetadata': string; 'praxis.filesUpload.genericUploadError': string; 'praxis.filesUpload.acceptError': string; 'praxis.filesUpload.maxFileSizeError': string; 'praxis.filesUpload.maxFilesPerBulkError': string; 'praxis.filesUpload.maxBulkSizeError': string; 'praxis.filesUpload.serviceUnavailable': string; 'praxis.filesUpload.baseUrlMissing': string; 'praxis.filesUpload.selectFiles': string; 'praxis.filesUpload.remove': string; 'praxis.filesUpload.moreActions': string; 'praxis.filesUpload.policySummaryAction': string; 'praxis.filesUpload.retry': string; 'praxis.filesUpload.download': string; 'praxis.filesUpload.copyLink': string; 'praxis.filesUpload.details': string; 'praxis.filesUpload.detailsMetadata': string; 'praxis.filesUpload.dropzoneHint': string; 'praxis.filesUpload.dropzoneProximityHint': string; 'praxis.filesUpload.placeholder': string; 'praxis.filesUpload.partialUploadError': string; 'praxis.filesUpload.presignMetadataMissing': string; 'praxis.filesUpload.fieldChipAria': string; 'praxis.filesUpload.fieldPendingCountSuffix': string; 'praxis.filesUpload.removePendingFile': string; 'praxis.filesUpload.fieldPolicyTypes': string; 'praxis.filesUpload.fieldPolicyMaxPerFile': string; 'praxis.filesUpload.fieldPolicyMaxItems': string; 'praxis.filesUpload.fieldPolicyNotConfigured': string; 'praxis.filesUpload.sizeUnitBytes': string; 'praxis.filesUpload.sizeUnitKB': string; 'praxis.filesUpload.sizeUnitMB': string; 'praxis.filesUpload.sizeUnitGB': string; 'praxis.filesUpload.sizeUnitTB': string; 'praxis.filesUpload.errors.INVALID_FILE_TYPE': string; 'praxis.filesUpload.errors.FILE_TOO_LARGE': string; 'praxis.filesUpload.errors.NOT_FOUND': string; 'praxis.filesUpload.errors.UNAUTHORIZED': string; 'praxis.filesUpload.errors.RATE_LIMIT_EXCEEDED': string; 'praxis.filesUpload.errors.INTERNAL_ERROR': string; 'praxis.filesUpload.errors.QUOTA_EXCEEDED': string; 'praxis.filesUpload.errors.SEC_VIRUS_DETECTED': string; 'praxis.filesUpload.errors.SEC_MALICIOUS_CONTENT': string; 'praxis.filesUpload.errors.SEC_DANGEROUS_TYPE': string; 'praxis.filesUpload.errors.FMT_MAGIC_MISMATCH': string; 'praxis.filesUpload.errors.FMT_CORRUPTED': string; 'praxis.filesUpload.errors.FMT_UNSUPPORTED': string; 'praxis.filesUpload.errors.SYS_STORAGE_ERROR': string; 'praxis.filesUpload.errors.SYS_SERVICE_DOWN': string; 'praxis.filesUpload.errors.SYS_RATE_LIMIT': string; 'praxis.filesUpload.errors.ARQUIVO_MUITO_GRANDE': string; 'praxis.filesUpload.errors.TIPO_ARQUIVO_INVALIDO': string; 'praxis.filesUpload.errors.TIPO_MIDIA_NAO_SUPORTADO': string; 'praxis.filesUpload.errors.CAMPO_OBRIGATORIO_AUSENTE': string; 'praxis.filesUpload.errors.OPCOES_JSON_INVALIDAS': string; 'praxis.filesUpload.errors.ARGUMENTO_INVALIDO': string; 'praxis.filesUpload.errors.NAO_AUTORIZADO': string; 'praxis.filesUpload.errors.ERRO_INTERNO': string; 'praxis.filesUpload.errors.LIMITE_TAXA_EXCEDIDO': string; 'praxis.filesUpload.errors.COTA_EXCEDIDA': string; 'praxis.filesUpload.errors.ARQUIVO_JA_EXISTE': string; 'praxis.filesUpload.errors.INVALID_JSON_OPTIONS': string; 'praxis.filesUpload.errors.EMPTY_FILENAME': string; 'praxis.filesUpload.errors.FILE_EXISTS': string; 'praxis.filesUpload.errors.PATH_TRAVERSAL': string; 'praxis.filesUpload.errors.INSUFFICIENT_STORAGE': string; 'praxis.filesUpload.errors.UPLOAD_TIMEOUT': string; 'praxis.filesUpload.errors.BULK_UPLOAD_TIMEOUT': string; 'praxis.filesUpload.errors.BULK_UPLOAD_CANCELLED': string; 'praxis.filesUpload.errors.USER_CANCELLED': string; 'praxis.filesUpload.errors.UNKNOWN_ERROR': string; 'praxis.filesUpload.fieldPendingSummary': string; 'praxis.filesUpload.fieldSelectedSummary': string; 'praxis.filesUpload.fieldSelectedPlural': string; 'praxis.filesUpload.fieldEmptySummary': string; 'praxis.filesUpload.fieldErrorSummary': string; 'praxis.filesUpload.fieldActionUpload': string; 'praxis.filesUpload.fieldActionUploadShort': string; 'praxis.filesUpload.fieldActionCancel': string; 'praxis.filesUpload.fieldActionCancelShort': string; 'praxis.filesUpload.fieldActionSelect': string; 'praxis.filesUpload.fieldActionClear': string; 'praxis.filesUpload.fieldInfoAction': string; 'praxis.filesUpload.fieldMoreActions': string; 'praxis.filesUpload.fieldPendingAriaSuffix': string; 'praxis.filesUpload.selectedOverlayAriaLabel': string; 'praxis.filesUpload.selectedOverlayTitle': string; 'praxis.filesUpload.bulkSummaryTotal': string; 'praxis.filesUpload.bulkSummarySuccess': string; 'praxis.filesUpload.bulkSummaryFailed': string; 'praxis.filesUpload.resultMetaIdLabel': string; 'praxis.filesUpload.resultMetaTypeLabel': string; 'praxis.filesUpload.resultMetaSizeLabel': string; 'praxis.filesUpload.resultMetaUploadedAtLabel': string; 'praxis.filesUpload.policySummaryAny': string; 'praxis.filesUpload.policySummaryNotConfigured': string; 'praxis.filesUpload.policySummaryTypesLabel': string; 'praxis.filesUpload.policySummaryMaxPerFileLabel': string; 'praxis.filesUpload.policySummaryQuantityLabel': string; 'praxis.filesUpload.showAll': string; 'praxis.filesUpload.showLess': string; }; declare const PRAXIS_FILES_UPLOAD_COMPONENT_METADATA: ComponentDocMeta; declare function providePraxisFilesUploadMetadata(): Provider; /** * Capabilities catalog for FilesUploadConfig. * Paths follow FilesUploadConfig shape (patch merged at config root). */ declare module '@praxisui/core' { interface AiCapabilityCategoryMap { strategy: true; ui: true; limits: true; options: true; bulk: true; quotas: true; rateLimit: true; headers: true; messages: true; } } type CapabilityCategory = AiCapabilityCategory; type ValueKind = AiValueKind; interface Capability extends AiCapability { category: CapabilityCategory; } interface CapabilityCatalog extends AiCapabilityCatalog { capabilities: Capability[]; } declare const FILES_UPLOAD_AI_CAPABILITIES: CapabilityCatalog; declare const PRAXIS_FILES_UPLOAD_AUTHORING_MANIFEST: ComponentAuthoringManifest; export { BulkUploadResultStatus, ErrorCode, ErrorMapperService, FILES_UPLOAD_AI_CAPABILITIES, FILES_UPLOAD_EN_US, FILES_UPLOAD_ERROR_MESSAGES, FILES_UPLOAD_PT_BR, FILES_UPLOAD_TEXTS, FilesApiClient, PRAXIS_FILES_UPLOAD_AUTHORING_MANIFEST, PRAXIS_FILES_UPLOAD_COMPONENT_METADATA, PdxFilesUploadFieldComponent, PraxisFilesUpload, PraxisFilesUploadConfigEditor, PraxisFilesUploadWidgetConfigEditor, PresignedUploaderService, ScanStatus, TRANSLATE_LIKE, acceptValidator, createPraxisFilesUploadI18nConfig, getPrimaryErrorItem, isErrorEnvelope, maxBulkSizeValidator, maxFileSizeValidator, maxFilesPerBulkValidator, providePraxisFilesUploadI18n, providePraxisFilesUploadMetadata, resolvePraxisFilesUploadText }; export type { ApiErrorEnvelope, ApiErrorItem, ApiResponseStatus, ApiSuccessEnvelope, BulkConfig, BulkUploadFile, BulkUploadFileResult, BulkUploadOptions, BulkUploadResponse, BulkUploadResponseData, Capability, CapabilityCatalog, CapabilityCategory, EffectiveUploadConfig, ErrorLike, ErrorResponse, FileMetadata, FileUploadOptions, FilesUploadBackendOptionsConfig, FilesUploadConfig, FilesUploadExecutionConfig, FilesUploadHeadersConfig, FilesUploadMessagesConfig, FilesUploadQuotaFeedbackConfig, FilesUploadRateLimitFeedbackConfig, FilesUploadReadinessEvent, FilesUploadReadySource, FilesUploadReadyState, FilesUploadStrategy, FilesUploadTexts, FilesUploadValidationConfig, FilesUploadVisualConfig, MappedError, Metadata, PendingFilesState, PraxisFilesUploadI18nOptions, PraxisFilesUploadWidgetEditorInputs, PraxisFilesUploadWidgetEditorValue, PresignResponse, QuotasConfig, RateLimitConfig, RateLimitInfo, ServerMessages, TranslateLike, UploadOptions, UploadProgressEvent, UploadResponse, UploadResponseData, UploadStartEvent, ValueKind };