import type { ApiRoute, ContextWithMastra } from '@mastra/core/server'; import type { SpanRecord } from '@mastra/core/storage'; import { z } from 'zod/v4'; import type { LiveKitRecording } from './recording-types.js'; export declare const recordingSchema: z.ZodObject<{ url: z.ZodURL; expiresAt: z.ZodOptional; }, z.core.$strip>; export interface LiveKitRecordingResolverArgs { traceId: string; /** Taken from the stored voice call span, never from the browser request. */ roomName: string; span: SpanRecord; context: ContextWithMastra; } export interface LiveKitRecordingRouteOptions { /** Studio discovers this route at its default path: /voice/livekit/recordings/:traceId. */ path?: string; /** Defaults to true. Only disable for a local demo. */ requiresAuth?: boolean; /** Required trace-specific access policy. Only true permits trace lookup and URL resolution. */ authorize: (args: { traceId: string; context: ContextWithMastra; }) => boolean | Promise; /** Return a playable URL, or undefined if the recording is not available yet. */ resolveRecording: (args: LiveKitRecordingResolverArgs) => Promise; } /** Resolves a voice call trace to a recording without persisting signed URLs in traces. */ export declare function liveKitRecordingRoute(options: LiveKitRecordingRouteOptions): ApiRoute; //# sourceMappingURL=recording-route.d.ts.map