import _m0 from 'protobufjs/minimal';
export declare const protobufPackage = "yandex.cloud.video.v1";
export interface Subtitle {
    /** ID of the subtitle. */
    id: string;
    /**
     * Subtitle language in any of the following formats:
     * * three-letter code according to ISO 639-2/T, ISO 639-2/B, or ISO 639-3
     * * two-letter code according to ISO 639-1
     */
    language: string;
    /** Subtitle caption to be displayed on screen during video playback. */
    label: string;
    /** Subtitle status. */
    status: Subtitle_SubtitleStatus;
    /** Source type. */
    sourceType: Subtitle_SubtitleSourceType;
    /** Subtitle filename. */
    filename: string;
    /** Time when subtitle was created. */
    createdAt?: Date;
    /** Time of last subtitle update. */
    updatedAt?: Date;
    /** ID of the video. */
    videoId: string | undefined;
}
export declare enum Subtitle_SubtitleStatus {
    /** SUBTITLE_STATUS_UNSPECIFIED - Subtitle status unspecified. */
    SUBTITLE_STATUS_UNSPECIFIED = 0,
    /** WAIT_UPLOADING - Waiting for all the bytes to be loaded. */
    WAIT_UPLOADING = 1,
    /** UPLOADED - Uploading is complete. */
    UPLOADED = 2,
    UNRECOGNIZED = -1
}
export declare function subtitle_SubtitleStatusFromJSON(object: any): Subtitle_SubtitleStatus;
export declare function subtitle_SubtitleStatusToJSON(object: Subtitle_SubtitleStatus): string;
export declare enum Subtitle_SubtitleSourceType {
    /** SUBTITLE_SOURCE_TYPE_UNSPECIFIED - Subtitle source type unspecified. */
    SUBTITLE_SOURCE_TYPE_UNSPECIFIED = 0,
    /** MANUAL - Manually uploaded subtitle. */
    MANUAL = 1,
    /** GENERATED - Automatically generated subtitle. */
    GENERATED = 2,
    UNRECOGNIZED = -1
}
export declare function subtitle_SubtitleSourceTypeFromJSON(object: any): Subtitle_SubtitleSourceType;
export declare function subtitle_SubtitleSourceTypeToJSON(object: Subtitle_SubtitleSourceType): string;
export declare const Subtitle: {
    encode(message: Subtitle, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Subtitle;
    fromJSON(object: any): Subtitle;
    toJSON(message: Subtitle): unknown;
    fromPartial<I extends {
        id?: string | undefined;
        language?: string | undefined;
        label?: string | undefined;
        status?: Subtitle_SubtitleStatus | undefined;
        sourceType?: Subtitle_SubtitleSourceType | undefined;
        filename?: string | undefined;
        createdAt?: Date | undefined;
        updatedAt?: Date | undefined;
        videoId?: string | undefined;
    } & {
        id?: string | undefined;
        language?: string | undefined;
        label?: string | undefined;
        status?: Subtitle_SubtitleStatus | undefined;
        sourceType?: Subtitle_SubtitleSourceType | undefined;
        filename?: string | undefined;
        createdAt?: Date | undefined;
        updatedAt?: Date | undefined;
        videoId?: string | undefined;
    } & Record<Exclude<keyof I, keyof Subtitle>, never>>(object: I): Subtitle;
};
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
type KeysOfUnion<T> = T extends T ? keyof T : never;
export type Exact<P, I extends P> = P extends Builtin ? P : P & {
    [K in keyof P]: Exact<P[K], I[K]>;
} & Record<Exclude<keyof I, KeysOfUnion<P>>, never>;
export {};
