import type { IncomingMessage, ServerResponse } from 'node:http'; import { ArkmeService } from './arkme-service.js'; export interface ArkmeRichMediaRouteOptions { expectedPort: number; allowNonLoopback: boolean; temporaryDirectory: string; maxUploadBytes: number; requestTimeoutMs?: number; } export declare function createArkmeUploadHandler(service: ArkmeService, options: ArkmeRichMediaRouteOptions, mode?: 'upload' | 'stage' | 'long-article-stage'): (req: IncomingMessage, res: ServerResponse) => Promise; /** Local-only avatar save; unlike `/upload`, this never enters the cloud file API or staged-file cleanup. */ export declare function createArkmeSelfRoleAvatarHandler(service: ArkmeService, options: ArkmeRichMediaRouteOptions): (req: IncomingMessage, res: ServerResponse) => Promise; export declare function createArkmeLocalFileHandler(service: ArkmeService, options: ArkmeRichMediaRouteOptions): (req: IncomingMessage, res: ServerResponse) => Promise; export declare function createArkmeMediaHandler(service: ArkmeService, options: ArkmeRichMediaRouteOptions): (req: IncomingMessage, res: ServerResponse) => Promise; /** Team bytes use live Team authority and are never cached as personal or Chat media. */ export declare function createArkmeTeamMediaHandler(service: ArkmeService, options: ArkmeRichMediaRouteOptions): (req: IncomingMessage, res: ServerResponse) => Promise; //# sourceMappingURL=rich-media-routes.d.ts.map