export interface PartitionedAttachmentFiles { readonly nativeImages: readonly File[]; readonly ordinaryFiles: readonly File[]; } export interface NativeImageSink { add(files: readonly File[]): void; } export interface OrdinaryFileQueue { enqueue(sessionId: string, files: Iterable): readonly string[] | void; } export declare function partitionAttachmentFiles(files: Iterable): PartitionedAttachmentFiles; export declare class FileIntakeCoordinator { private readonly queue; private readonly nativeImageSinks; constructor(queue: OrdinaryFileQueue); registerNativeImageSink(sessionId: string, sink: NativeImageSink): () => void; accept(sessionId: string, files: Iterable): void; }