//#region src/native-files.d.ts declare global { var CoreframeFlutter: { postMessage(message: string): void; } | undefined; } type NativeFileErrorCode = "invalid_request" | "unsupported_platform" | "unsupported_filter" | "selection_not_accepted" | "picker_busy" | "unreadable_selection" | "capacity_exceeded" | "internal"; declare class NativeFileError extends Error { readonly code: NativeFileErrorCode; readonly retryable: boolean; constructor(code: NativeFileErrorCode, message: string, retryable?: boolean); } type NativeFileCapabilities = Readonly<{ available: boolean; }>; type NativeFilePickOptions = Readonly<{ /** Picker hints as MIME types (such as `image/*`) or extensions (such as `.pdf`). */accept?: readonly string[]; multiple?: boolean; }>; type NativeFileSelection = Readonly<{ /** Opaque runtime-scoped identifier accepted by {@link releaseNativeFiles}. */id: string; lastModified: number | null; name: string; size: number; type: string | null; /** Bearer URL on the Coreframe loopback origin. Do not persist or disclose it. */ url: string; }>; /** Detects the Flutter bridge. Use getNativeFileCapabilities for platform support. */ declare function isNativeFilesAvailable(): boolean; declare function getNativeFileCapabilities(): Promise; /** Opens the native system picker. Cancellation resolves to an empty array. */ declare function pickNativeFiles(options?: NativeFilePickOptions): Promise; /** Revokes selections immediately; repeated and unknown identifiers are harmless. */ declare function releaseNativeFiles(selections: readonly (NativeFileSelection | string)[]): Promise; declare function isNativeFileError(value: unknown): value is NativeFileError; //#endregion export { NativeFileCapabilities, NativeFileError, NativeFileErrorCode, NativeFilePickOptions, NativeFileSelection, getNativeFileCapabilities, isNativeFileError, isNativeFilesAvailable, pickNativeFiles, releaseNativeFiles };