import { z } from "zod";
import type { Reference } from "../clients";
declare const quality: z.ZodType<`${number}p`, z.ZodTypeDef, `${number}p`>;
/**
 * / --> preview
 * /preview
 * /details
 * /thumb/
 *   /480-png
 *   /1280-png
 *   /480-avif
 *   /1280-avif
 * /sources/
 *   /720p
 *   /1080p
 *   /dash/
 *     /manifest.mpd
 *     /...
 */
export declare const VideoSourceRawSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
    /** Source type */
    type: z.ZodOptional<z.ZodLiteral<"mp4">>;
    /** Video resolution (eg: 1080p) */
    quality: z.ZodType<`${number}p`, z.ZodTypeDef, `${number}p`>;
    /** Path of the video (for folder based video manifest) */
    path: z.ZodOptional<z.ZodString>;
    /** Swarm reference of the video */
    reference: z.ZodOptional<z.ZodEffects<z.ZodString, Reference, string>>;
    /** Video size in bytes */
    size: z.ZodNumber;
    /** Video bitrate */
    bitrate: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    size: number;
    quality: `${number}p`;
    type?: "mp4" | undefined;
    path?: string | undefined;
    reference?: Reference | undefined;
    bitrate?: number | undefined;
}, {
    size: number;
    quality: `${number}p`;
    type?: "mp4" | undefined;
    path?: string | undefined;
    reference?: string | undefined;
    bitrate?: number | undefined;
}>, z.ZodObject<{
    /** Source type */
    type: z.ZodEffects<z.ZodEnum<["dash", "Dash", "hls", "Hls"]>, "dash" | "hls", "dash" | "Dash" | "hls" | "Hls">;
    /** Path of the source */
    path: z.ZodString;
    /** Video size in bytes */
    size: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    type: "dash" | "hls";
    path: string;
    size: number;
}, {
    type: "dash" | "Dash" | "hls" | "Hls";
    path: string;
    size: number;
}>]>, {
    size: number;
    quality: `${number}p`;
    type?: "mp4" | undefined;
    path?: string | undefined;
    reference?: Reference | undefined;
    bitrate?: number | undefined;
} | {
    type: "dash" | "hls";
    path: string;
    size: number;
}, {
    size: number;
    quality: `${number}p`;
    type?: "mp4" | undefined;
    path?: string | undefined;
    reference?: string | undefined;
    bitrate?: number | undefined;
} | {
    type: "dash" | "Dash" | "hls" | "Hls";
    path: string;
    size: number;
}>;
export declare const VideoPreviewRawSchema: z.ZodObject<{
    /** Schema version */
    v: z.ZodOptional<z.ZodEnum<["1.0", "1.1", "1.2", "2.0", "2.1"]>>;
    /** Title of the video */
    title: z.ZodEffects<z.ZodString, string, string>;
    /** Video creation timestamp */
    createdAt: z.ZodUnion<[z.ZodEffects<z.ZodNumber, number, number>, z.ZodEffects<z.ZodString, number, string>]>;
    /** Video creation timestamp */
    updatedAt: z.ZodNullable<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodNumber, number, number>, z.ZodEffects<z.ZodString, number, string>]>>>;
    /** Address of the owner of the video */
    ownerAddress: z.ZodEffects<z.ZodString, `0x${string}`, string>;
    /** Duration of the video in seconds */
    duration: z.ZodNumber;
    /** Thumbnail raw image */
    thumbnail: z.ZodNullable<z.ZodObject<{
        aspectRatio: z.ZodNumber;
        blurhash: z.ZodString;
        sources: z.ZodUnion<[z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
            width: z.ZodNumber;
            type: z.ZodNullable<z.ZodEffects<z.ZodDefault<z.ZodEnum<["jpeg", "png", "webp", "avif", "jpeg-xl", ...string[]]>>, "jpeg" | "png" | "webp" | "avif" | "jpeg-xl", string | undefined>>;
            path: z.ZodOptional<z.ZodString>;
            reference: z.ZodOptional<z.ZodEffects<z.ZodString, Reference, string>>;
        }, "strip", z.ZodTypeAny, {
            type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
            width: number;
            path?: string | undefined;
            reference?: Reference | undefined;
        }, {
            width: number;
            type?: string | null | undefined;
            path?: string | undefined;
            reference?: string | undefined;
        }>, {
            type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
            width: number;
            path?: string | undefined;
            reference?: Reference | undefined;
        } & {
            type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
        }, {
            width: number;
            type?: string | null | undefined;
            path?: string | undefined;
            reference?: string | undefined;
        }>, {
            type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
            width: number;
            path?: string | undefined;
            reference?: Reference | undefined;
        } & {
            type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
        }, {
            width: number;
            type?: string | null | undefined;
            path?: string | undefined;
            reference?: string | undefined;
        }>, "many">, z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodType<`${number}w`, z.ZodTypeDef, `${number}w`>, z.ZodString>, Partial<Record<`${number}w`, string>>, Partial<Record<`${number}w`, string>>>, ({
            type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
            width: number;
            path?: string | undefined;
            reference?: Reference | undefined;
        } & {
            type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
        })[], Partial<Record<`${number}w`, string>>>]>;
    }, "strip", z.ZodTypeAny, {
        aspectRatio: number;
        blurhash: string;
        sources: ({
            type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
            width: number;
            path?: string | undefined;
            reference?: Reference | undefined;
        } & {
            type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
        })[];
    }, {
        aspectRatio: number;
        blurhash: string;
        sources: (Partial<Record<`${number}w`, string>> | {
            width: number;
            type?: string | null | undefined;
            path?: string | undefined;
            reference?: string | undefined;
        }[]) & (Partial<Record<`${number}w`, string>> | {
            width: number;
            type?: string | null | undefined;
            path?: string | undefined;
            reference?: string | undefined;
        }[] | undefined);
    }>>;
}, "strip", z.ZodTypeAny, {
    title: string;
    createdAt: number;
    ownerAddress: `0x${string}`;
    duration: number;
    thumbnail: {
        aspectRatio: number;
        blurhash: string;
        sources: ({
            type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
            width: number;
            path?: string | undefined;
            reference?: Reference | undefined;
        } & {
            type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
        })[];
    } | null;
    v?: "1.0" | "1.1" | "1.2" | "2.0" | "2.1" | undefined;
    updatedAt?: number | null | undefined;
}, {
    title: string;
    createdAt: string | number;
    ownerAddress: string;
    duration: number;
    thumbnail: {
        aspectRatio: number;
        blurhash: string;
        sources: (Partial<Record<`${number}w`, string>> | {
            width: number;
            type?: string | null | undefined;
            path?: string | undefined;
            reference?: string | undefined;
        }[]) & (Partial<Record<`${number}w`, string>> | {
            width: number;
            type?: string | null | undefined;
            path?: string | undefined;
            reference?: string | undefined;
        }[] | undefined);
    } | null;
    v?: "1.0" | "1.1" | "1.2" | "2.0" | "2.1" | undefined;
    updatedAt?: string | number | null | undefined;
}>;
export declare const VideoCaptionSchema: z.ZodObject<{
    label: z.ZodString;
    lang: z.ZodString;
    path: z.ZodString;
}, "strip", z.ZodTypeAny, {
    label: string;
    path: string;
    lang: string;
}, {
    label: string;
    path: string;
    lang: string;
}>;
export declare const VideoDetailsRawSchema: z.ZodObject<{
    /** Description of the video */
    description: z.ZodEffects<z.ZodString, string, string>;
    /** Video aspect ratio (width / height) */
    aspectRatio: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
    /** List of available qualities of the video */
    sources: z.ZodArray<z.ZodEffects<z.ZodUnion<[z.ZodObject<{
        /** Source type */
        type: z.ZodOptional<z.ZodLiteral<"mp4">>;
        /** Video resolution (eg: 1080p) */
        quality: z.ZodType<`${number}p`, z.ZodTypeDef, `${number}p`>;
        /** Path of the video (for folder based video manifest) */
        path: z.ZodOptional<z.ZodString>;
        /** Swarm reference of the video */
        reference: z.ZodOptional<z.ZodEffects<z.ZodString, Reference, string>>;
        /** Video size in bytes */
        size: z.ZodNumber;
        /** Video bitrate */
        bitrate: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        size: number;
        quality: `${number}p`;
        type?: "mp4" | undefined;
        path?: string | undefined;
        reference?: Reference | undefined;
        bitrate?: number | undefined;
    }, {
        size: number;
        quality: `${number}p`;
        type?: "mp4" | undefined;
        path?: string | undefined;
        reference?: string | undefined;
        bitrate?: number | undefined;
    }>, z.ZodObject<{
        /** Source type */
        type: z.ZodEffects<z.ZodEnum<["dash", "Dash", "hls", "Hls"]>, "dash" | "hls", "dash" | "Dash" | "hls" | "Hls">;
        /** Path of the source */
        path: z.ZodString;
        /** Video size in bytes */
        size: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        type: "dash" | "hls";
        path: string;
        size: number;
    }, {
        type: "dash" | "Dash" | "hls" | "Hls";
        path: string;
        size: number;
    }>]>, {
        size: number;
        quality: `${number}p`;
        type?: "mp4" | undefined;
        path?: string | undefined;
        reference?: Reference | undefined;
        bitrate?: number | undefined;
    } | {
        type: "dash" | "hls";
        path: string;
        size: number;
    }, {
        size: number;
        quality: `${number}p`;
        type?: "mp4" | undefined;
        path?: string | undefined;
        reference?: string | undefined;
        bitrate?: number | undefined;
    } | {
        type: "dash" | "Dash" | "hls" | "Hls";
        path: string;
        size: number;
    }>, "many">;
    /** List of available video captions */
    captions: z.ZodOptional<z.ZodArray<z.ZodObject<{
        label: z.ZodString;
        lang: z.ZodString;
        path: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        label: string;
        path: string;
        lang: string;
    }, {
        label: string;
        path: string;
        lang: string;
    }>, "many">>;
    /** batch id used */
    batchId: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodString, Reference, string>>>;
    /** Optional extra data */
    personalData: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    sources: ({
        size: number;
        quality: `${number}p`;
        type?: "mp4" | undefined;
        path?: string | undefined;
        reference?: Reference | undefined;
        bitrate?: number | undefined;
    } | {
        type: "dash" | "hls";
        path: string;
        size: number;
    })[];
    description: string;
    aspectRatio?: number | null | undefined;
    captions?: {
        label: string;
        path: string;
        lang: string;
    }[] | undefined;
    batchId?: Reference | null | undefined;
    personalData?: string | undefined;
}, {
    sources: ({
        size: number;
        quality: `${number}p`;
        type?: "mp4" | undefined;
        path?: string | undefined;
        reference?: string | undefined;
        bitrate?: number | undefined;
    } | {
        type: "dash" | "Dash" | "hls" | "Hls";
        path: string;
        size: number;
    })[];
    description: string;
    aspectRatio?: number | null | undefined;
    captions?: {
        label: string;
        path: string;
        lang: string;
    }[] | undefined;
    batchId?: string | null | undefined;
    personalData?: string | undefined;
}>;
export declare const VideoSourceSchema: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
    /** Source type */
    type: z.ZodLiteral<"mp4">;
    /** Video resolution (eg: 1080p) */
    quality: z.ZodType<`${number}p`, z.ZodTypeDef, `${number}p`>;
    /** Swarm reference of the video */
    reference: z.ZodOptional<z.ZodEffects<z.ZodString, Reference, string>>;
    /** Path of the video (for folder based video manifest) */
    path: z.ZodOptional<z.ZodString>;
    /** Video size in bytes */
    size: z.ZodNumber;
    /** Video bitrate */
    bitrate: z.ZodOptional<z.ZodNumber>;
    /** source url */
    url: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "mp4";
    url: string;
    size: number;
    quality: `${number}p`;
    reference?: Reference | undefined;
    path?: string | undefined;
    bitrate?: number | undefined;
}, {
    type: "mp4";
    url: string;
    size: number;
    quality: `${number}p`;
    reference?: string | undefined;
    path?: string | undefined;
    bitrate?: number | undefined;
}>, z.ZodEffects<z.ZodObject<{
    /** Source type */
    type: z.ZodEffects<z.ZodEnum<["dash", "Dash", "hls", "Hls"]>, "dash" | "hls", "dash" | "Dash" | "hls" | "Hls">;
    /** Path of the source */
    path: z.ZodString;
    /** Video size in bytes */
    size: z.ZodNumber;
    /** source url */
    url: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "dash" | "hls";
    path: string;
    url: string;
    size: number;
}, {
    type: "dash" | "Dash" | "hls" | "Hls";
    path: string;
    url: string;
    size: number;
}>, {
    isMaster: boolean;
    isAudio: boolean;
    type: "dash" | "hls";
    path: string;
    url: string;
    size: number;
}, {
    type: "dash" | "Dash" | "hls" | "Hls";
    path: string;
    url: string;
    size: number;
}>]>, {
    type: "mp4";
    url: string;
    size: number;
    quality: `${number}p`;
    reference?: Reference | undefined;
    path?: string | undefined;
    bitrate?: number | undefined;
} | {
    isMaster: boolean;
    isAudio: boolean;
    type: "dash" | "hls";
    path: string;
    url: string;
    size: number;
}, {
    type: "mp4";
    url: string;
    size: number;
    quality: `${number}p`;
    reference?: string | undefined;
    path?: string | undefined;
    bitrate?: number | undefined;
} | {
    type: "dash" | "Dash" | "hls" | "Hls";
    path: string;
    url: string;
    size: number;
}>;
export declare const VideoPreviewSchema: z.ZodObject<{
    /** Hash of the video */
    reference: z.ZodEffects<z.ZodString, Reference, string>;
    /** Title of the video */
    title: z.ZodEffects<z.ZodString, string, string>;
    /** Video creation timestamp */
    createdAt: z.ZodDate;
    /** Video update timestamp */
    updatedAt: z.ZodNullable<z.ZodDate>;
    /** Address of the owner of the video */
    ownerAddress: z.ZodEffects<z.ZodString, `0x${string}`, string>;
    /** Duration of the video in seconds */
    duration: z.ZodNumber;
    /** Thumbnail image data */
    thumbnail: z.ZodNullable<z.ZodObject<{
        aspectRatio: z.ZodNumber; /** Description of the video */
        blurhash: z.ZodString;
        sources: z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
            type: z.ZodNullable<z.ZodEffects<z.ZodDefault<z.ZodEnum<["jpeg", "png", "webp", "avif", "jpeg-xl", ...string[]]>>, "jpeg" | "png" | "webp" | "avif" | "jpeg-xl", string | undefined>>;
            path: z.ZodOptional<z.ZodString>;
            width: z.ZodNumber;
            reference: z.ZodOptional<z.ZodEffects<z.ZodString, Reference, string>>;
            url: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
            width: number;
            url: string;
            path?: string | undefined;
            reference?: Reference | undefined;
        }, {
            width: number;
            url: string;
            type?: string | null | undefined;
            path?: string | undefined;
            reference?: string | undefined;
        }>, {
            type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
            width: number;
            url: string;
            path?: string | undefined;
            reference?: Reference | undefined;
        } & {
            type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
        }, {
            width: number;
            url: string;
            type?: string | null | undefined;
            path?: string | undefined;
            reference?: string | undefined;
        }>, {
            type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
            width: number;
            url: string;
            path?: string | undefined;
            reference?: Reference | undefined;
        } & {
            type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
        }, {
            width: number;
            url: string;
            type?: string | null | undefined;
            path?: string | undefined;
            reference?: string | undefined;
        }>, "many">;
        blurredBase64: z.ZodString;
        url: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        url: string;
        aspectRatio: number;
        blurhash: string;
        sources: ({
            type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
            width: number;
            url: string;
            path?: string | undefined;
            reference?: Reference | undefined;
        } & {
            type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
        })[];
        blurredBase64: string;
    }, {
        url: string;
        aspectRatio: number;
        blurhash: string;
        sources: {
            width: number;
            url: string;
            type?: string | null | undefined;
            path?: string | undefined;
            reference?: string | undefined;
        }[];
        blurredBase64: string;
    }>>;
    /** Schema version */
    v: z.ZodEnum<["1.0", "1.1", "1.2", "2.0", "2.1"]>;
}, "strip", z.ZodTypeAny, {
    reference: string & {
        readonly length: 64;
    };
    v: "1.0" | "1.1" | "1.2" | "2.0" | "2.1";
    title: string;
    createdAt: Date;
    updatedAt: Date | null;
    ownerAddress: `0x${string}`;
    duration: number;
    thumbnail: {
        url: string;
        aspectRatio: number;
        blurhash: string;
        sources: ({
            type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
            width: number;
            url: string;
            path?: string | undefined;
            reference?: Reference | undefined;
        } & {
            type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
        })[];
        blurredBase64: string;
    } | null;
}, {
    reference: string;
    v: "1.0" | "1.1" | "1.2" | "2.0" | "2.1";
    title: string;
    createdAt: Date;
    updatedAt: Date | null;
    ownerAddress: string;
    duration: number;
    thumbnail: {
        url: string;
        aspectRatio: number;
        blurhash: string;
        sources: {
            width: number;
            url: string;
            type?: string | null | undefined;
            path?: string | undefined;
            reference?: string | undefined;
        }[];
        blurredBase64: string;
    } | null;
}>;
export declare const VideoDetailsSchema: z.ZodObject<{
    /** Description of the video */
    description: z.ZodEffects<z.ZodString, string, string>;
    /** All qualities of video */
    sources: z.ZodArray<z.ZodEffects<z.ZodUnion<[z.ZodObject<{
        /** Source type */
        type: z.ZodLiteral<"mp4">;
        /** Video resolution (eg: 1080p) */
        quality: z.ZodType<`${number}p`, z.ZodTypeDef, `${number}p`>;
        /** Swarm reference of the video */
        reference: z.ZodOptional<z.ZodEffects<z.ZodString, Reference, string>>;
        /** Path of the video (for folder based video manifest) */
        path: z.ZodOptional<z.ZodString>;
        /** Video size in bytes */
        size: z.ZodNumber;
        /** Video bitrate */
        bitrate: z.ZodOptional<z.ZodNumber>;
        /** source url */
        url: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "mp4";
        url: string;
        size: number;
        quality: `${number}p`;
        reference?: Reference | undefined;
        path?: string | undefined;
        bitrate?: number | undefined;
    }, {
        type: "mp4";
        url: string;
        size: number;
        quality: `${number}p`;
        reference?: string | undefined;
        path?: string | undefined;
        bitrate?: number | undefined;
    }>, z.ZodEffects<z.ZodObject<{
        /** Source type */
        type: z.ZodEffects<z.ZodEnum<["dash", "Dash", "hls", "Hls"]>, "dash" | "hls", "dash" | "Dash" | "hls" | "Hls">;
        /** Path of the source */
        path: z.ZodString;
        /** Video size in bytes */
        size: z.ZodNumber;
        /** source url */
        url: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "dash" | "hls";
        path: string;
        url: string;
        size: number;
    }, {
        type: "dash" | "Dash" | "hls" | "Hls";
        path: string;
        url: string;
        size: number;
    }>, {
        isMaster: boolean;
        isAudio: boolean;
        type: "dash" | "hls";
        path: string;
        url: string;
        size: number;
    }, {
        type: "dash" | "Dash" | "hls" | "Hls";
        path: string;
        url: string;
        size: number;
    }>]>, {
        type: "mp4";
        url: string;
        size: number;
        quality: `${number}p`;
        reference?: Reference | undefined;
        path?: string | undefined;
        bitrate?: number | undefined;
    } | {
        isMaster: boolean;
        isAudio: boolean;
        type: "dash" | "hls";
        path: string;
        url: string;
        size: number;
    }, {
        type: "mp4";
        url: string;
        size: number;
        quality: `${number}p`;
        reference?: string | undefined;
        path?: string | undefined;
        bitrate?: number | undefined;
    } | {
        type: "dash" | "Dash" | "hls" | "Hls";
        path: string;
        url: string;
        size: number;
    }>, "many">;
    /** Video aspect ratio (width / height) */
    aspectRatio: z.ZodNullable<z.ZodNumber>;
    /** List of available video captions */
    captions: z.ZodArray<z.ZodObject<{
        label: z.ZodString;
        lang: z.ZodString;
        path: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        label: string;
        path: string;
        lang: string;
    }, {
        label: string;
        path: string;
        lang: string;
    }>, "many">;
    /** Optional extra data */
    personalData: z.ZodOptional<z.ZodString>;
    /** batch id used (null if v < `1.1`) */
    batchId: z.ZodNullable<z.ZodEffects<z.ZodString, Reference, string>>;
}, "strip", z.ZodTypeAny, {
    batchId: (string & {
        readonly length: 64;
    }) | null;
    aspectRatio: number | null;
    sources: ({
        type: "mp4";
        url: string;
        size: number;
        quality: `${number}p`;
        reference?: Reference | undefined;
        path?: string | undefined;
        bitrate?: number | undefined;
    } | {
        isMaster: boolean;
        isAudio: boolean;
        type: "dash" | "hls";
        path: string;
        url: string;
        size: number;
    })[];
    description: string;
    captions: {
        label: string;
        path: string;
        lang: string;
    }[];
    personalData?: string | undefined;
}, {
    batchId: string | null;
    aspectRatio: number | null;
    sources: ({
        type: "mp4";
        url: string;
        size: number;
        quality: `${number}p`;
        reference?: string | undefined;
        path?: string | undefined;
        bitrate?: number | undefined;
    } | {
        type: "dash" | "Dash" | "hls" | "Hls";
        path: string;
        url: string;
        size: number;
    })[];
    description: string;
    captions: {
        label: string;
        path: string;
        lang: string;
    }[];
    personalData?: string | undefined;
}>;
export declare const VideoBuilderSchema: z.ZodObject<{
    reference: z.ZodEffects<z.ZodString, Reference, string>;
    previewMeta: z.ZodObject<{
        /** Schema version */
        v: z.ZodOptional<z.ZodEnum<["1.0", "1.1", "1.2", "2.0", "2.1"]>>;
        /** Title of the video */
        title: z.ZodEffects<z.ZodString, string, string>;
        /** Video creation timestamp */
        createdAt: z.ZodUnion<[z.ZodEffects<z.ZodNumber, number, number>, z.ZodEffects<z.ZodString, number, string>]>;
        /** Video creation timestamp */
        updatedAt: z.ZodNullable<z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodNumber, number, number>, z.ZodEffects<z.ZodString, number, string>]>>>;
        /** Address of the owner of the video */
        ownerAddress: z.ZodEffects<z.ZodString, `0x${string}`, string>;
        /** Duration of the video in seconds */
        duration: z.ZodNumber;
        /** Thumbnail raw image */
        thumbnail: z.ZodNullable<z.ZodObject<{
            aspectRatio: z.ZodNumber;
            blurhash: z.ZodString;
            sources: z.ZodUnion<[z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodObject<{
                width: z.ZodNumber;
                type: z.ZodNullable<z.ZodEffects<z.ZodDefault<z.ZodEnum<["jpeg", "png", "webp", "avif", "jpeg-xl", ...string[]]>>, "jpeg" | "png" | "webp" | "avif" | "jpeg-xl", string | undefined>>;
                path: z.ZodOptional<z.ZodString>;
                reference: z.ZodOptional<z.ZodEffects<z.ZodString, Reference, string>>;
            }, "strip", z.ZodTypeAny, {
                type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
                width: number;
                path?: string | undefined;
                reference?: Reference | undefined;
            }, {
                width: number;
                type?: string | null | undefined;
                path?: string | undefined;
                reference?: string | undefined;
            }>, {
                type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
                width: number;
                path?: string | undefined;
                reference?: Reference | undefined;
            } & {
                type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
            }, {
                width: number;
                type?: string | null | undefined;
                path?: string | undefined;
                reference?: string | undefined;
            }>, {
                type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
                width: number;
                path?: string | undefined;
                reference?: Reference | undefined;
            } & {
                type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
            }, {
                width: number;
                type?: string | null | undefined;
                path?: string | undefined;
                reference?: string | undefined;
            }>, "many">, z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodType<`${number}w`, z.ZodTypeDef, `${number}w`>, z.ZodString>, Partial<Record<`${number}w`, string>>, Partial<Record<`${number}w`, string>>>, ({
                type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
                width: number;
                path?: string | undefined;
                reference?: Reference | undefined;
            } & {
                type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
            })[], Partial<Record<`${number}w`, string>>>]>;
        }, "strip", z.ZodTypeAny, {
            aspectRatio: number;
            blurhash: string;
            sources: ({
                type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
                width: number;
                path?: string | undefined;
                reference?: Reference | undefined;
            } & {
                type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
            })[];
        }, {
            aspectRatio: number;
            blurhash: string;
            sources: (Partial<Record<`${number}w`, string>> | {
                width: number;
                type?: string | null | undefined;
                path?: string | undefined;
                reference?: string | undefined;
            }[]) & (Partial<Record<`${number}w`, string>> | {
                width: number;
                type?: string | null | undefined;
                path?: string | undefined;
                reference?: string | undefined;
            }[] | undefined);
        }>>;
    }, "strip", z.ZodTypeAny, {
        title: string;
        createdAt: number;
        ownerAddress: `0x${string}`;
        duration: number;
        thumbnail: {
            aspectRatio: number;
            blurhash: string;
            sources: ({
                type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
                width: number;
                path?: string | undefined;
                reference?: Reference | undefined;
            } & {
                type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
            })[];
        } | null;
        v?: "1.0" | "1.1" | "1.2" | "2.0" | "2.1" | undefined;
        updatedAt?: number | null | undefined;
    }, {
        title: string;
        createdAt: string | number;
        ownerAddress: string;
        duration: number;
        thumbnail: {
            aspectRatio: number;
            blurhash: string;
            sources: (Partial<Record<`${number}w`, string>> | {
                width: number;
                type?: string | null | undefined;
                path?: string | undefined;
                reference?: string | undefined;
            }[]) & (Partial<Record<`${number}w`, string>> | {
                width: number;
                type?: string | null | undefined;
                path?: string | undefined;
                reference?: string | undefined;
            }[] | undefined);
        } | null;
        v?: "1.0" | "1.1" | "1.2" | "2.0" | "2.1" | undefined;
        updatedAt?: string | number | null | undefined;
    }>;
    detailsMeta: z.ZodObject<{
        batchId: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodString, Reference, string>>>;
        aspectRatio: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
        description: z.ZodEffects<z.ZodString, string, string>;
        captions: z.ZodOptional<z.ZodArray<z.ZodObject<{
            label: z.ZodString;
            lang: z.ZodString;
            path: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            label: string;
            path: string;
            lang: string;
        }, {
            label: string;
            path: string;
            lang: string;
        }>, "many">>;
        personalData: z.ZodOptional<z.ZodString>;
        sources: z.ZodArray<z.ZodEffects<z.ZodUnion<[z.ZodObject<{
            /** Source type */
            type: z.ZodOptional<z.ZodLiteral<"mp4">>;
            /** Video resolution (eg: 1080p) */
            quality: z.ZodType<`${number}p`, z.ZodTypeDef, `${number}p`>;
            /** Path of the video (for folder based video manifest) */
            path: z.ZodOptional<z.ZodString>;
            /** Swarm reference of the video */
            reference: z.ZodOptional<z.ZodEffects<z.ZodString, Reference, string>>;
            /** Video size in bytes */
            size: z.ZodNumber;
            /** Video bitrate */
            bitrate: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            size: number;
            quality: `${number}p`;
            type?: "mp4" | undefined;
            path?: string | undefined;
            reference?: Reference | undefined;
            bitrate?: number | undefined;
        }, {
            size: number;
            quality: `${number}p`;
            type?: "mp4" | undefined;
            path?: string | undefined;
            reference?: string | undefined;
            bitrate?: number | undefined;
        }>, z.ZodObject<{
            /** Source type */
            type: z.ZodEffects<z.ZodEnum<["dash", "Dash", "hls", "Hls"]>, "dash" | "hls", "dash" | "Dash" | "hls" | "Hls">;
            /** Path of the source */
            path: z.ZodString;
            /** Video size in bytes */
            size: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            type: "dash" | "hls";
            path: string;
            size: number;
        }, {
            type: "dash" | "Dash" | "hls" | "Hls";
            path: string;
            size: number;
        }>]>, {
            size: number;
            quality: `${number}p`;
            type?: "mp4" | undefined;
            path?: string | undefined;
            reference?: Reference | undefined;
            bitrate?: number | undefined;
        } | {
            type: "dash" | "hls";
            path: string;
            size: number;
        }, {
            size: number;
            quality: `${number}p`;
            type?: "mp4" | undefined;
            path?: string | undefined;
            reference?: string | undefined;
            bitrate?: number | undefined;
        } | {
            type: "dash" | "Dash" | "hls" | "Hls";
            path: string;
            size: number;
        }>, "many">;
    }, "strip", z.ZodTypeAny, {
        sources: ({
            size: number;
            quality: `${number}p`;
            type?: "mp4" | undefined;
            path?: string | undefined;
            reference?: Reference | undefined;
            bitrate?: number | undefined;
        } | {
            type: "dash" | "hls";
            path: string;
            size: number;
        })[];
        description: string;
        batchId?: Reference | null | undefined;
        aspectRatio?: number | null | undefined;
        captions?: {
            label: string;
            path: string;
            lang: string;
        }[] | undefined;
        personalData?: string | undefined;
    }, {
        sources: ({
            size: number;
            quality: `${number}p`;
            type?: "mp4" | undefined;
            path?: string | undefined;
            reference?: string | undefined;
            bitrate?: number | undefined;
        } | {
            type: "dash" | "Dash" | "hls" | "Hls";
            path: string;
            size: number;
        })[];
        description: string;
        batchId?: string | null | undefined;
        aspectRatio?: number | null | undefined;
        captions?: {
            label: string;
            path: string;
            lang: string;
        }[] | undefined;
        personalData?: string | undefined;
    }>;
    node: z.ZodType<import("./mantaray").MantarayNode, z.ZodTypeDef, import("./mantaray").MantarayNode>;
}, "strip", z.ZodTypeAny, {
    reference: string & {
        readonly length: 64;
    };
    node: import("./mantaray").MantarayNode;
    previewMeta: {
        title: string;
        createdAt: number;
        ownerAddress: `0x${string}`;
        duration: number;
        thumbnail: {
            aspectRatio: number;
            blurhash: string;
            sources: ({
                type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl" | null;
                width: number;
                path?: string | undefined;
                reference?: Reference | undefined;
            } & {
                type: "jpeg" | "png" | "webp" | "avif" | "jpeg-xl";
            })[];
        } | null;
        v?: "1.0" | "1.1" | "1.2" | "2.0" | "2.1" | undefined;
        updatedAt?: number | null | undefined;
    };
    detailsMeta: {
        sources: ({
            size: number;
            quality: `${number}p`;
            type?: "mp4" | undefined;
            path?: string | undefined;
            reference?: Reference | undefined;
            bitrate?: number | undefined;
        } | {
            type: "dash" | "hls";
            path: string;
            size: number;
        })[];
        description: string;
        batchId?: Reference | null | undefined;
        aspectRatio?: number | null | undefined;
        captions?: {
            label: string;
            path: string;
            lang: string;
        }[] | undefined;
        personalData?: string | undefined;
    };
}, {
    reference: string;
    node: import("./mantaray").MantarayNode;
    previewMeta: {
        title: string;
        createdAt: string | number;
        ownerAddress: string;
        duration: number;
        thumbnail: {
            aspectRatio: number;
            blurhash: string;
            sources: (Partial<Record<`${number}w`, string>> | {
                width: number;
                type?: string | null | undefined;
                path?: string | undefined;
                reference?: string | undefined;
            }[]) & (Partial<Record<`${number}w`, string>> | {
                width: number;
                type?: string | null | undefined;
                path?: string | undefined;
                reference?: string | undefined;
            }[] | undefined);
        } | null;
        v?: "1.0" | "1.1" | "1.2" | "2.0" | "2.1" | undefined;
        updatedAt?: string | number | null | undefined;
    };
    detailsMeta: {
        sources: ({
            size: number;
            quality: `${number}p`;
            type?: "mp4" | undefined;
            path?: string | undefined;
            reference?: string | undefined;
            bitrate?: number | undefined;
        } | {
            type: "dash" | "Dash" | "hls" | "Hls";
            path: string;
            size: number;
        })[];
        description: string;
        batchId?: string | null | undefined;
        aspectRatio?: number | null | undefined;
        captions?: {
            label: string;
            path: string;
            lang: string;
        }[] | undefined;
        personalData?: string | undefined;
    };
}>;
export type VideoQuality = z.infer<typeof quality>;
export type VideoPreviewRaw = z.infer<typeof VideoPreviewRawSchema>;
export type VideoDetailsRaw = z.infer<typeof VideoDetailsRawSchema>;
export type VideoSource = z.infer<typeof VideoSourceSchema>;
export type VideoSourceRaw = z.infer<typeof VideoSourceRawSchema>;
export type VideoCaption = z.infer<typeof VideoCaptionSchema>;
export type VideoPreview = z.infer<typeof VideoPreviewSchema>;
export type VideoDetails = z.infer<typeof VideoDetailsSchema>;
export type Video = {
    reference: Reference;
    preview: VideoPreview;
    details?: VideoDetails;
};
export type VideoRaw = {
    preview?: VideoPreviewRaw;
    details?: VideoDetailsRaw;
};
export type SerializedVideoBuilder = z.infer<typeof VideoBuilderSchema>;
export {};
//# sourceMappingURL=video.d.ts.map