import type { ArkmeFileSendTask, ArkmeLocalFile } from '../file-transfer-contract.js'; import type { ArkmeContentBlock, ArkmeTimelineItem } from '../types.js'; export declare function localFileBlock(file: ArkmeLocalFile, sortOrder?: number): ArkmeContentBlock; export declare function fileTaskHasOnlyBackgroundFiles(task: ArkmeFileSendTask): boolean; /** Active supplemental capture has no visible per-message status. */ export declare function fileTaskShowsInlineStatus(task: ArkmeFileSendTask): boolean; export declare function fileTaskTimelineItem(task: ArkmeFileSendTask): ArkmeTimelineItem; export declare function fileTaskConversationPreview(task: ArkmeFileSendTask): string; export declare function bindSentFileTaskLocals(item: ArkmeTimelineItem, tasks: readonly ArkmeFileSendTask[]): ArkmeTimelineItem; export declare function arkmeFileSendTasksNeedPolling(tasks: readonly ArkmeFileSendTask[]): boolean; export declare function arkmeFileSendTasksEqual(left: readonly ArkmeFileSendTask[], right: readonly ArkmeFileSendTask[]): boolean; export declare function useArkmeDeliveryTasks(sourceRef: string | undefined, userId: string | number | undefined, adapter: { read(scope: string, signal: AbortSignal): Promise; active(tasks: readonly T[]): boolean; belongs(task: T, scope: string): boolean; key(task: T): string; }, enabled?: boolean): { tasks: readonly T[]; activeTaskKeys: ReadonlySet; refresh: () => void; accept: (task: T) => void; }; export declare function useArkmeFileSendTasks(sourceRef: string | undefined, userId: number | undefined, enabled?: boolean): { tasks: readonly ArkmeFileSendTask[]; activeTaskKeys: ReadonlySet; refresh: () => void; accept: (task: ArkmeFileSendTask) => void; }; //# sourceMappingURL=file-send-tasks.d.ts.map