import { Client } from "../client.cjs";
import { IteratorWithPromise, UploadChunkEvent } from "../uploadChunks.cjs";
import { z } from "zod";

//#region src/resources/isobmff-track.d.ts
declare const AudioStreamSchema: z.ZodObject<{
  index: z.ZodNumber;
  codec_name: z.ZodString;
  codec_long_name: z.ZodString;
  codec_type: z.ZodLiteral<"audio">;
  codec_tag_string: z.ZodString;
  codec_tag: z.ZodString;
  sample_fmt: z.ZodString;
  sample_rate: z.ZodString;
  channels: z.ZodNumber;
  channel_layout: z.ZodOptional<z.ZodString>;
  bits_per_sample: z.ZodNumber;
  initial_padding: z.ZodOptional<z.ZodNumber>;
  r_frame_rate: z.ZodString;
  avg_frame_rate: z.ZodString;
  time_base: z.ZodString;
  start_pts: z.ZodOptional<z.ZodNumber>;
  start_time: z.ZodOptional<z.ZodNumber>;
  duration_ts: z.ZodNumber;
  duration: z.ZodNumber;
  bit_rate: z.ZodString;
  disposition: z.ZodRecord<z.ZodString, z.ZodUnknown>;
}, "strip", z.ZodTypeAny, {
  index: number;
  codec_name: string;
  codec_long_name: string;
  codec_type: "audio";
  codec_tag_string: string;
  codec_tag: string;
  sample_fmt: string;
  sample_rate: string;
  channels: number;
  bits_per_sample: number;
  r_frame_rate: string;
  avg_frame_rate: string;
  time_base: string;
  duration_ts: number;
  duration: number;
  bit_rate: string;
  disposition: Record<string, unknown>;
  channel_layout?: string | undefined;
  initial_padding?: number | undefined;
  start_pts?: number | undefined;
  start_time?: number | undefined;
}, {
  index: number;
  codec_name: string;
  codec_long_name: string;
  codec_type: "audio";
  codec_tag_string: string;
  codec_tag: string;
  sample_fmt: string;
  sample_rate: string;
  channels: number;
  bits_per_sample: number;
  r_frame_rate: string;
  avg_frame_rate: string;
  time_base: string;
  duration_ts: number;
  duration: number;
  bit_rate: string;
  disposition: Record<string, unknown>;
  channel_layout?: string | undefined;
  initial_padding?: number | undefined;
  start_pts?: number | undefined;
  start_time?: number | undefined;
}>;
interface AudioStreamSchema {
  /** The index of the stream in the file */
  index: number;
  /** The name of the codec */
  codec_name: string;
  /** The long name of the codec */
  codec_long_name: string;
  /** The type of the codec */
  codec_type: "audio";
  /** The tag string of the codec */
  codec_tag_string: string;
  /** The tag of the codec */
  codec_tag: string;
  /** The sample format */
  sample_fmt: string;
  /** The sample rate */
  sample_rate: string;
  /** The number of channels */
  channels: number;
  /** The channel layout */
  channel_layout?: string;
  /** The number of bits per sample */
  bits_per_sample: number;
  /** The initial padding */
  initial_padding?: number;
  /** The frame rate */
  r_frame_rate: string;
  /** The average frame rate */
  avg_frame_rate: string;
  /** The time base */
  time_base: string;
  /** The start presentation timestamp */
  start_pts?: number;
  /** The start time */
  start_time?: number;
  /** The duration timestamp */
  duration_ts: number;
  /** The duration */
  duration: number;
  /** The bit rate */
  bit_rate: string;
  /** The disposition record. Subject to change, not documented. */
  disposition: Record<string, unknown>;
}
declare const VideoStreamSchema: z.ZodObject<{
  index: z.ZodNumber;
  codec_name: z.ZodString;
  codec_long_name: z.ZodString;
  codec_type: z.ZodLiteral<"video">;
  codec_tag_string: z.ZodString;
  codec_tag: z.ZodString;
  width: z.ZodNumber;
  height: z.ZodNumber;
  coded_width: z.ZodNumber;
  coded_height: z.ZodNumber;
  r_frame_rate: z.ZodString;
  avg_frame_rate: z.ZodString;
  time_base: z.ZodString;
  start_pts: z.ZodOptional<z.ZodNumber>;
  start_time: z.ZodOptional<z.ZodNumber>;
  duration_ts: z.ZodOptional<z.ZodNumber>;
  duration: z.ZodOptional<z.ZodNumber>;
  bit_rate: z.ZodOptional<z.ZodString>;
  disposition: z.ZodRecord<z.ZodString, z.ZodUnknown>;
}, "strip", z.ZodTypeAny, {
  height: number;
  width: number;
  index: number;
  codec_name: string;
  codec_long_name: string;
  codec_type: "video";
  codec_tag_string: string;
  codec_tag: string;
  r_frame_rate: string;
  avg_frame_rate: string;
  time_base: string;
  disposition: Record<string, unknown>;
  coded_width: number;
  coded_height: number;
  start_pts?: number | undefined;
  start_time?: number | undefined;
  duration_ts?: number | undefined;
  duration?: number | undefined;
  bit_rate?: string | undefined;
}, {
  height: number;
  width: number;
  index: number;
  codec_name: string;
  codec_long_name: string;
  codec_type: "video";
  codec_tag_string: string;
  codec_tag: string;
  r_frame_rate: string;
  avg_frame_rate: string;
  time_base: string;
  disposition: Record<string, unknown>;
  coded_width: number;
  coded_height: number;
  start_pts?: number | undefined;
  start_time?: number | undefined;
  duration_ts?: number | undefined;
  duration?: number | undefined;
  bit_rate?: string | undefined;
}>;
interface VideoStreamSchema {
  /** The index of the stream in the file */
  index: number;
  /** The name of the codec */
  codec_name: string;
  /** The long name of the codec */
  codec_long_name: string;
  /** The type of the codec */
  codec_type: "video";
  /** The tag string of the codec */
  codec_tag_string: string;
  /** The tag of the codec */
  codec_tag: string;
  /** The width */
  width: number;
  /** The height */
  height: number;
  /** The coded width */
  coded_width: number;
  /** The coded height */
  coded_height: number;
  /** The frame rate */
  r_frame_rate: string;
  /** The average frame rate */
  avg_frame_rate: string;
  /** The time base */
  time_base: string;
  /** The start presentation timestamp */
  start_pts?: number;
  /** The start time */
  start_time?: number;
  /** The duration timestamp */
  duration_ts?: number;
  /** The duration */
  duration?: number;
  /** The bit rate */
  bit_rate?: string;
  /** The disposition record. Subject to change, not documented. */
  disposition: Record<string, unknown>;
}
declare const AudioTrackPayload: z.ZodObject<{
  file_id: z.ZodString;
  track_id: z.ZodNumber;
  type: z.ZodLiteral<"audio">;
  probe_info: z.ZodObject<{
    index: z.ZodNumber;
    codec_name: z.ZodString;
    codec_long_name: z.ZodString;
    codec_type: z.ZodLiteral<"audio">;
    codec_tag_string: z.ZodString;
    codec_tag: z.ZodString;
    sample_fmt: z.ZodString;
    sample_rate: z.ZodString;
    channels: z.ZodNumber;
    channel_layout: z.ZodOptional<z.ZodString>;
    bits_per_sample: z.ZodNumber;
    initial_padding: z.ZodOptional<z.ZodNumber>;
    r_frame_rate: z.ZodString;
    avg_frame_rate: z.ZodString;
    time_base: z.ZodString;
    start_pts: z.ZodOptional<z.ZodNumber>;
    start_time: z.ZodOptional<z.ZodNumber>;
    duration_ts: z.ZodNumber;
    duration: z.ZodNumber;
    bit_rate: z.ZodString;
    disposition: z.ZodRecord<z.ZodString, z.ZodUnknown>;
  }, "strip", z.ZodTypeAny, {
    index: number;
    codec_name: string;
    codec_long_name: string;
    codec_type: "audio";
    codec_tag_string: string;
    codec_tag: string;
    sample_fmt: string;
    sample_rate: string;
    channels: number;
    bits_per_sample: number;
    r_frame_rate: string;
    avg_frame_rate: string;
    time_base: string;
    duration_ts: number;
    duration: number;
    bit_rate: string;
    disposition: Record<string, unknown>;
    channel_layout?: string | undefined;
    initial_padding?: number | undefined;
    start_pts?: number | undefined;
    start_time?: number | undefined;
  }, {
    index: number;
    codec_name: string;
    codec_long_name: string;
    codec_type: "audio";
    codec_tag_string: string;
    codec_tag: string;
    sample_fmt: string;
    sample_rate: string;
    channels: number;
    bits_per_sample: number;
    r_frame_rate: string;
    avg_frame_rate: string;
    time_base: string;
    duration_ts: number;
    duration: number;
    bit_rate: string;
    disposition: Record<string, unknown>;
    channel_layout?: string | undefined;
    initial_padding?: number | undefined;
    start_pts?: number | undefined;
    start_time?: number | undefined;
  }>;
  duration_ms: z.ZodNumber;
  codec_name: z.ZodString;
  byte_size: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
  byte_size: number;
  type: "audio";
  codec_name: string;
  file_id: string;
  track_id: number;
  probe_info: {
    index: number;
    codec_name: string;
    codec_long_name: string;
    codec_type: "audio";
    codec_tag_string: string;
    codec_tag: string;
    sample_fmt: string;
    sample_rate: string;
    channels: number;
    bits_per_sample: number;
    r_frame_rate: string;
    avg_frame_rate: string;
    time_base: string;
    duration_ts: number;
    duration: number;
    bit_rate: string;
    disposition: Record<string, unknown>;
    channel_layout?: string | undefined;
    initial_padding?: number | undefined;
    start_pts?: number | undefined;
    start_time?: number | undefined;
  };
  duration_ms: number;
}, {
  byte_size: number;
  type: "audio";
  codec_name: string;
  file_id: string;
  track_id: number;
  probe_info: {
    index: number;
    codec_name: string;
    codec_long_name: string;
    codec_type: "audio";
    codec_tag_string: string;
    codec_tag: string;
    sample_fmt: string;
    sample_rate: string;
    channels: number;
    bits_per_sample: number;
    r_frame_rate: string;
    avg_frame_rate: string;
    time_base: string;
    duration_ts: number;
    duration: number;
    bit_rate: string;
    disposition: Record<string, unknown>;
    channel_layout?: string | undefined;
    initial_padding?: number | undefined;
    start_pts?: number | undefined;
    start_time?: number | undefined;
  };
  duration_ms: number;
}>;
interface AudioTrackPayload {
  file_id: string;
  track_id: number;
  type: "audio";
  probe_info: AudioStreamSchema;
  duration_ms: number;
  codec_name: string;
  byte_size: number;
}
declare const VideoTrackPayload: z.ZodObject<{
  file_id: z.ZodString;
  track_id: z.ZodNumber;
  type: z.ZodLiteral<"video">;
  probe_info: z.ZodObject<{
    index: z.ZodNumber;
    codec_name: z.ZodString;
    codec_long_name: z.ZodString;
    codec_type: z.ZodLiteral<"video">;
    codec_tag_string: z.ZodString;
    codec_tag: z.ZodString;
    width: z.ZodNumber;
    height: z.ZodNumber;
    coded_width: z.ZodNumber;
    coded_height: z.ZodNumber;
    r_frame_rate: z.ZodString;
    avg_frame_rate: z.ZodString;
    time_base: z.ZodString;
    start_pts: z.ZodOptional<z.ZodNumber>;
    start_time: z.ZodOptional<z.ZodNumber>;
    duration_ts: z.ZodOptional<z.ZodNumber>;
    duration: z.ZodOptional<z.ZodNumber>;
    bit_rate: z.ZodOptional<z.ZodString>;
    disposition: z.ZodRecord<z.ZodString, z.ZodUnknown>;
  }, "strip", z.ZodTypeAny, {
    height: number;
    width: number;
    index: number;
    codec_name: string;
    codec_long_name: string;
    codec_type: "video";
    codec_tag_string: string;
    codec_tag: string;
    r_frame_rate: string;
    avg_frame_rate: string;
    time_base: string;
    disposition: Record<string, unknown>;
    coded_width: number;
    coded_height: number;
    start_pts?: number | undefined;
    start_time?: number | undefined;
    duration_ts?: number | undefined;
    duration?: number | undefined;
    bit_rate?: string | undefined;
  }, {
    height: number;
    width: number;
    index: number;
    codec_name: string;
    codec_long_name: string;
    codec_type: "video";
    codec_tag_string: string;
    codec_tag: string;
    r_frame_rate: string;
    avg_frame_rate: string;
    time_base: string;
    disposition: Record<string, unknown>;
    coded_width: number;
    coded_height: number;
    start_pts?: number | undefined;
    start_time?: number | undefined;
    duration_ts?: number | undefined;
    duration?: number | undefined;
    bit_rate?: string | undefined;
  }>;
  duration_ms: z.ZodNumber;
  codec_name: z.ZodString;
  byte_size: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
  byte_size: number;
  type: "video";
  codec_name: string;
  file_id: string;
  track_id: number;
  probe_info: {
    height: number;
    width: number;
    index: number;
    codec_name: string;
    codec_long_name: string;
    codec_type: "video";
    codec_tag_string: string;
    codec_tag: string;
    r_frame_rate: string;
    avg_frame_rate: string;
    time_base: string;
    disposition: Record<string, unknown>;
    coded_width: number;
    coded_height: number;
    start_pts?: number | undefined;
    start_time?: number | undefined;
    duration_ts?: number | undefined;
    duration?: number | undefined;
    bit_rate?: string | undefined;
  };
  duration_ms: number;
}, {
  byte_size: number;
  type: "video";
  codec_name: string;
  file_id: string;
  track_id: number;
  probe_info: {
    height: number;
    width: number;
    index: number;
    codec_name: string;
    codec_long_name: string;
    codec_type: "video";
    codec_tag_string: string;
    codec_tag: string;
    r_frame_rate: string;
    avg_frame_rate: string;
    time_base: string;
    disposition: Record<string, unknown>;
    coded_width: number;
    coded_height: number;
    start_pts?: number | undefined;
    start_time?: number | undefined;
    duration_ts?: number | undefined;
    duration?: number | undefined;
    bit_rate?: string | undefined;
  };
  duration_ms: number;
}>;
interface VideoTrackPayload {
  file_id: string;
  track_id: number;
  type: "video";
  probe_info: VideoStreamSchema;
  duration_ms: number;
  codec_name: string;
  byte_size: number;
}
declare const CreateISOBMFFTrackPayload: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
  file_id: z.ZodString;
  track_id: z.ZodNumber;
  type: z.ZodLiteral<"audio">;
  probe_info: z.ZodObject<{
    index: z.ZodNumber;
    codec_name: z.ZodString;
    codec_long_name: z.ZodString;
    codec_type: z.ZodLiteral<"audio">;
    codec_tag_string: z.ZodString;
    codec_tag: z.ZodString;
    sample_fmt: z.ZodString;
    sample_rate: z.ZodString;
    channels: z.ZodNumber;
    channel_layout: z.ZodOptional<z.ZodString>;
    bits_per_sample: z.ZodNumber;
    initial_padding: z.ZodOptional<z.ZodNumber>;
    r_frame_rate: z.ZodString;
    avg_frame_rate: z.ZodString;
    time_base: z.ZodString;
    start_pts: z.ZodOptional<z.ZodNumber>;
    start_time: z.ZodOptional<z.ZodNumber>;
    duration_ts: z.ZodNumber;
    duration: z.ZodNumber;
    bit_rate: z.ZodString;
    disposition: z.ZodRecord<z.ZodString, z.ZodUnknown>;
  }, "strip", z.ZodTypeAny, {
    index: number;
    codec_name: string;
    codec_long_name: string;
    codec_type: "audio";
    codec_tag_string: string;
    codec_tag: string;
    sample_fmt: string;
    sample_rate: string;
    channels: number;
    bits_per_sample: number;
    r_frame_rate: string;
    avg_frame_rate: string;
    time_base: string;
    duration_ts: number;
    duration: number;
    bit_rate: string;
    disposition: Record<string, unknown>;
    channel_layout?: string | undefined;
    initial_padding?: number | undefined;
    start_pts?: number | undefined;
    start_time?: number | undefined;
  }, {
    index: number;
    codec_name: string;
    codec_long_name: string;
    codec_type: "audio";
    codec_tag_string: string;
    codec_tag: string;
    sample_fmt: string;
    sample_rate: string;
    channels: number;
    bits_per_sample: number;
    r_frame_rate: string;
    avg_frame_rate: string;
    time_base: string;
    duration_ts: number;
    duration: number;
    bit_rate: string;
    disposition: Record<string, unknown>;
    channel_layout?: string | undefined;
    initial_padding?: number | undefined;
    start_pts?: number | undefined;
    start_time?: number | undefined;
  }>;
  duration_ms: z.ZodNumber;
  codec_name: z.ZodString;
  byte_size: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
  byte_size: number;
  type: "audio";
  codec_name: string;
  file_id: string;
  track_id: number;
  probe_info: {
    index: number;
    codec_name: string;
    codec_long_name: string;
    codec_type: "audio";
    codec_tag_string: string;
    codec_tag: string;
    sample_fmt: string;
    sample_rate: string;
    channels: number;
    bits_per_sample: number;
    r_frame_rate: string;
    avg_frame_rate: string;
    time_base: string;
    duration_ts: number;
    duration: number;
    bit_rate: string;
    disposition: Record<string, unknown>;
    channel_layout?: string | undefined;
    initial_padding?: number | undefined;
    start_pts?: number | undefined;
    start_time?: number | undefined;
  };
  duration_ms: number;
}, {
  byte_size: number;
  type: "audio";
  codec_name: string;
  file_id: string;
  track_id: number;
  probe_info: {
    index: number;
    codec_name: string;
    codec_long_name: string;
    codec_type: "audio";
    codec_tag_string: string;
    codec_tag: string;
    sample_fmt: string;
    sample_rate: string;
    channels: number;
    bits_per_sample: number;
    r_frame_rate: string;
    avg_frame_rate: string;
    time_base: string;
    duration_ts: number;
    duration: number;
    bit_rate: string;
    disposition: Record<string, unknown>;
    channel_layout?: string | undefined;
    initial_padding?: number | undefined;
    start_pts?: number | undefined;
    start_time?: number | undefined;
  };
  duration_ms: number;
}>, z.ZodObject<{
  file_id: z.ZodString;
  track_id: z.ZodNumber;
  type: z.ZodLiteral<"video">;
  probe_info: z.ZodObject<{
    index: z.ZodNumber;
    codec_name: z.ZodString;
    codec_long_name: z.ZodString;
    codec_type: z.ZodLiteral<"video">;
    codec_tag_string: z.ZodString;
    codec_tag: z.ZodString;
    width: z.ZodNumber;
    height: z.ZodNumber;
    coded_width: z.ZodNumber;
    coded_height: z.ZodNumber;
    r_frame_rate: z.ZodString;
    avg_frame_rate: z.ZodString;
    time_base: z.ZodString;
    start_pts: z.ZodOptional<z.ZodNumber>;
    start_time: z.ZodOptional<z.ZodNumber>;
    duration_ts: z.ZodOptional<z.ZodNumber>;
    duration: z.ZodOptional<z.ZodNumber>;
    bit_rate: z.ZodOptional<z.ZodString>;
    disposition: z.ZodRecord<z.ZodString, z.ZodUnknown>;
  }, "strip", z.ZodTypeAny, {
    height: number;
    width: number;
    index: number;
    codec_name: string;
    codec_long_name: string;
    codec_type: "video";
    codec_tag_string: string;
    codec_tag: string;
    r_frame_rate: string;
    avg_frame_rate: string;
    time_base: string;
    disposition: Record<string, unknown>;
    coded_width: number;
    coded_height: number;
    start_pts?: number | undefined;
    start_time?: number | undefined;
    duration_ts?: number | undefined;
    duration?: number | undefined;
    bit_rate?: string | undefined;
  }, {
    height: number;
    width: number;
    index: number;
    codec_name: string;
    codec_long_name: string;
    codec_type: "video";
    codec_tag_string: string;
    codec_tag: string;
    r_frame_rate: string;
    avg_frame_rate: string;
    time_base: string;
    disposition: Record<string, unknown>;
    coded_width: number;
    coded_height: number;
    start_pts?: number | undefined;
    start_time?: number | undefined;
    duration_ts?: number | undefined;
    duration?: number | undefined;
    bit_rate?: string | undefined;
  }>;
  duration_ms: z.ZodNumber;
  codec_name: z.ZodString;
  byte_size: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
  byte_size: number;
  type: "video";
  codec_name: string;
  file_id: string;
  track_id: number;
  probe_info: {
    height: number;
    width: number;
    index: number;
    codec_name: string;
    codec_long_name: string;
    codec_type: "video";
    codec_tag_string: string;
    codec_tag: string;
    r_frame_rate: string;
    avg_frame_rate: string;
    time_base: string;
    disposition: Record<string, unknown>;
    coded_width: number;
    coded_height: number;
    start_pts?: number | undefined;
    start_time?: number | undefined;
    duration_ts?: number | undefined;
    duration?: number | undefined;
    bit_rate?: string | undefined;
  };
  duration_ms: number;
}, {
  byte_size: number;
  type: "video";
  codec_name: string;
  file_id: string;
  track_id: number;
  probe_info: {
    height: number;
    width: number;
    index: number;
    codec_name: string;
    codec_long_name: string;
    codec_type: "video";
    codec_tag_string: string;
    codec_tag: string;
    r_frame_rate: string;
    avg_frame_rate: string;
    time_base: string;
    disposition: Record<string, unknown>;
    coded_width: number;
    coded_height: number;
    start_pts?: number | undefined;
    start_time?: number | undefined;
    duration_ts?: number | undefined;
    duration?: number | undefined;
    bit_rate?: string | undefined;
  };
  duration_ms: number;
}>]>;
type CreateISOBMFFTrackPayload = VideoTrackPayload | AudioTrackPayload;
interface CreateISOBMFFTrackResult {
  next_byte: number;
  byte_size: number;
  track_id: number;
  file_id: string;
  complete: boolean;
}
/** @deprecated Use the unified file API from ./file.js instead */
declare const createISOBMFFTrack: (client: Client, payload: CreateISOBMFFTrackPayload) => Promise<CreateISOBMFFTrackResult>;
/** @deprecated Use the unified file API from ./file.js instead */
declare const uploadISOBMFFTrack: (client: Client, fileId: string, trackId: number, fileStream: ReadableStream, trackSize: number) => IteratorWithPromise<UploadChunkEvent>;
//#endregion
export { AudioStreamSchema, AudioTrackPayload, CreateISOBMFFTrackPayload, CreateISOBMFFTrackResult, VideoStreamSchema, VideoTrackPayload, createISOBMFFTrack, uploadISOBMFFTrack };
//# sourceMappingURL=isobmff-track.d.cts.map