import z from "zod";
export declare enum MusicMoodEnum {
    sad = "sad",
    melancholic = "melancholic",
    happy = "happy",
    euphoric = "euphoric/high",
    excited = "excited",
    chill = "chill",
    uneasy = "uneasy",
    angry = "angry",
    dark = "dark",
    hopeful = "hopeful",
    contemplative = "contemplative",
    funny = "funny/quirky"
}
export declare enum CaptionPositionEnum {
    top = "top",
    center = "center",
    bottom = "bottom"
}
export type Scene = {
    captions: Caption[];
    video: string;
    audio: {
        url: string;
        duration: number;
    };
};
export declare const sceneInput: z.ZodObject<{
    text: z.ZodString;
    searchTerms: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    text: string;
    searchTerms: string[];
}, {
    text: string;
    searchTerms: string[];
}>;
export type SceneInput = z.infer<typeof sceneInput>;
export declare enum VoiceEnum {
    af_heart = "af_heart",
    af_alloy = "af_alloy",
    af_aoede = "af_aoede",
    af_bella = "af_bella",
    af_jessica = "af_jessica",
    af_kore = "af_kore",
    af_nicole = "af_nicole",
    af_nova = "af_nova",
    af_river = "af_river",
    af_sarah = "af_sarah",
    af_sky = "af_sky",
    am_adam = "am_adam",
    am_echo = "am_echo",
    am_eric = "am_eric",
    am_fenrir = "am_fenrir",
    am_liam = "am_liam",
    am_michael = "am_michael",
    am_onyx = "am_onyx",
    am_puck = "am_puck",
    am_santa = "am_santa",
    bf_emma = "bf_emma",
    bf_isabella = "bf_isabella",
    bm_george = "bm_george",
    bm_lewis = "bm_lewis",
    bf_alice = "bf_alice",
    bf_lily = "bf_lily",
    bm_daniel = "bm_daniel",
    bm_fable = "bm_fable"
}
export declare enum OrientationEnum {
    landscape = "landscape",
    portrait = "portrait"
}
export declare enum MusicVolumeEnum {
    muted = "muted",
    low = "low",
    medium = "medium",
    high = "high"
}
export declare const renderConfig: z.ZodObject<{
    paddingBack: z.ZodOptional<z.ZodNumber>;
    music: z.ZodOptional<z.ZodNativeEnum<typeof MusicMoodEnum>>;
    captionPosition: z.ZodOptional<z.ZodNativeEnum<typeof CaptionPositionEnum>>;
    captionBackgroundColor: z.ZodOptional<z.ZodString>;
    voice: z.ZodOptional<z.ZodNativeEnum<typeof VoiceEnum>>;
    orientation: z.ZodOptional<z.ZodNativeEnum<typeof OrientationEnum>>;
    musicVolume: z.ZodOptional<z.ZodNativeEnum<typeof MusicVolumeEnum>>;
}, "strip", z.ZodTypeAny, {
    paddingBack?: number | undefined;
    music?: MusicMoodEnum | undefined;
    captionPosition?: CaptionPositionEnum | undefined;
    captionBackgroundColor?: string | undefined;
    voice?: VoiceEnum | undefined;
    orientation?: OrientationEnum | undefined;
    musicVolume?: MusicVolumeEnum | undefined;
}, {
    paddingBack?: number | undefined;
    music?: MusicMoodEnum | undefined;
    captionPosition?: CaptionPositionEnum | undefined;
    captionBackgroundColor?: string | undefined;
    voice?: VoiceEnum | undefined;
    orientation?: OrientationEnum | undefined;
    musicVolume?: MusicVolumeEnum | undefined;
}>;
export type RenderConfig = z.infer<typeof renderConfig>;
export type Voices = `${VoiceEnum}`;
export type Video = {
    id: string;
    url: string;
    width: number;
    height: number;
};
export type Caption = {
    text: string;
    startMs: number;
    endMs: number;
};
export type CaptionLine = {
    texts: Caption[];
};
export type CaptionPage = {
    startMs: number;
    endMs: number;
    lines: CaptionLine[];
};
export declare const createShortInput: z.ZodObject<{
    scenes: z.ZodArray<z.ZodObject<{
        text: z.ZodString;
        searchTerms: z.ZodArray<z.ZodString, "many">;
    }, "strip", z.ZodTypeAny, {
        text: string;
        searchTerms: string[];
    }, {
        text: string;
        searchTerms: string[];
    }>, "many">;
    config: z.ZodObject<{
        paddingBack: z.ZodOptional<z.ZodNumber>;
        music: z.ZodOptional<z.ZodNativeEnum<typeof MusicMoodEnum>>;
        captionPosition: z.ZodOptional<z.ZodNativeEnum<typeof CaptionPositionEnum>>;
        captionBackgroundColor: z.ZodOptional<z.ZodString>;
        voice: z.ZodOptional<z.ZodNativeEnum<typeof VoiceEnum>>;
        orientation: z.ZodOptional<z.ZodNativeEnum<typeof OrientationEnum>>;
        musicVolume: z.ZodOptional<z.ZodNativeEnum<typeof MusicVolumeEnum>>;
    }, "strip", z.ZodTypeAny, {
        paddingBack?: number | undefined;
        music?: MusicMoodEnum | undefined;
        captionPosition?: CaptionPositionEnum | undefined;
        captionBackgroundColor?: string | undefined;
        voice?: VoiceEnum | undefined;
        orientation?: OrientationEnum | undefined;
        musicVolume?: MusicVolumeEnum | undefined;
    }, {
        paddingBack?: number | undefined;
        music?: MusicMoodEnum | undefined;
        captionPosition?: CaptionPositionEnum | undefined;
        captionBackgroundColor?: string | undefined;
        voice?: VoiceEnum | undefined;
        orientation?: OrientationEnum | undefined;
        musicVolume?: MusicVolumeEnum | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    scenes: {
        text: string;
        searchTerms: string[];
    }[];
    config: {
        paddingBack?: number | undefined;
        music?: MusicMoodEnum | undefined;
        captionPosition?: CaptionPositionEnum | undefined;
        captionBackgroundColor?: string | undefined;
        voice?: VoiceEnum | undefined;
        orientation?: OrientationEnum | undefined;
        musicVolume?: MusicVolumeEnum | undefined;
    };
}, {
    scenes: {
        text: string;
        searchTerms: string[];
    }[];
    config: {
        paddingBack?: number | undefined;
        music?: MusicMoodEnum | undefined;
        captionPosition?: CaptionPositionEnum | undefined;
        captionBackgroundColor?: string | undefined;
        voice?: VoiceEnum | undefined;
        orientation?: OrientationEnum | undefined;
        musicVolume?: MusicVolumeEnum | undefined;
    };
}>;
export type CreateShortInput = z.infer<typeof createShortInput>;
export type VideoStatus = "processing" | "ready" | "failed";
export type Music = {
    file: string;
    start: number;
    end: number;
    mood: string;
};
export type MusicForVideo = Music & {
    url: string;
};
export type MusicTag = `${MusicMoodEnum}`;
export type kokoroModelPrecision = "fp32" | "fp16" | "q8" | "q4" | "q4f16";
export type whisperModels = "tiny" | "tiny.en" | "base" | "base.en" | "small" | "small.en" | "medium" | "medium.en" | "large-v1" | "large-v2" | "large-v3" | "large-v3-turbo";
