/// <reference types="node" />
import { ChannelCredentials, ChannelOptions, UntypedServiceImplementation, handleUnaryCall, Client, ClientUnaryCall, Metadata, CallOptions, ServiceError } from '@grpc/grpc-js';
import _m0 from 'protobufjs/minimal';
import { AutoTranscode, Video } from '../../../../yandex/cloud/video/v1/video';
import { FieldMask } from '../../../../google/protobuf/field_mask';
import { Duration } from '../../../../google/protobuf/duration';
import { Manifest } from '../../../../yandex/cloud/video/v1/manifest';
import { Operation } from '../../../../yandex/cloud/operation/operation';
export declare const protobufPackage = "yandex.cloud.video.v1";
export interface GetVideoRequest {
    /** ID of the video. */
    videoId: string;
}
export interface ListVideoRequest {
    /** ID of the channel. */
    channelId: string;
    /**
     * The maximum number of the results per page to return.
     * Default value: 100.
     */
    pageSize: number;
    /** Page token for getting the next page of the result. */
    pageToken: string;
    /**
     * By which column the listing should be ordered and in which direction,
     * format is "<field> <order>" (e.g. "createdAt desc").
     * Default: "id asc".
     * Possible fields: ["id", "title", "createdAt", "updatedAt"].
     * Both snake_case and camelCase are supported for fields.
     */
    orderBy: string;
    /**
     * Filter expression that filters resources listed in the response.
     * Expressions are composed of terms connected by logic operators.
     * If value contains spaces or quotes,
     * it should be in quotes (`'` or `"`) with the inner quotes being backslash escaped.
     * Example: "key1='value' AND key2='value'".
     * Supported operators: ["AND", "OR"].
     * Supported fields: ["id", "title", "status", "visibilityStatus"].
     * Both snake_case and camelCase are supported for fields.
     */
    filter: string;
}
export interface ListVideoResponse {
    videos: Video[];
    /** Token for getting the next page. */
    nextPageToken: string;
}
export interface BatchGetVideosRequest {
    /** ID of the channel. */
    channelId: string;
    /** List of requested video IDs. */
    videoIds: string[];
}
export interface BatchGetVideosResponse {
    /** List of videos for channel. */
    videos: Video[];
}
export interface CreateVideoRequest {
    /** ID of the channel. */
    channelId: string;
    /** Video title. */
    title: string;
    /** Video description. */
    description: string;
    /** ID of the thumbnail. */
    thumbnailId: string;
    /** Auto start transcoding. */
    autoTranscode: AutoTranscode;
    /**
     * Automatically publish video after transcoding.
     * Switches visibility status to PUBLISHED.
     */
    autoPublish?: boolean;
    /**
     * Enable advertisement for this video.
     * Default: true.
     * Set explicitly to false to disable advertisements for a specific video.
     */
    enableAd?: boolean;
    /** Custom labels as `` key:value `` pairs. Maximum 64 per resource. */
    labels: {
        [key: string]: string;
    };
    /** Upload video using the tus protocol. */
    tusd?: VideoTUSDParams | undefined;
    /**
     * Publicly accessible video available for viewing by anyone with the direct link.
     * No additional authorization or access control is applied.
     */
    publicAccess?: VideoPublicAccessParams | undefined;
    /** Checking access rights using url's signature. */
    signUrlAccess?: VideoSignURLAccessParams | undefined;
}
export interface CreateVideoRequest_LabelsEntry {
    key: string;
    value: string;
}
export interface VideoTUSDParams {
    /** File size. */
    fileSize: number;
    /** File name. */
    fileName: string;
}
export interface VideoPublicAccessParams {
}
export interface VideoSignURLAccessParams {
}
export interface CreateVideoMetadata {
    /** ID of the video. */
    videoId: string;
}
export interface UpdateVideoRequest {
    /** ID of the video. */
    videoId: string;
    /** Field mask that specifies which fields of the video are going to be updated. */
    fieldMask?: FieldMask;
    /** Video title. */
    title: string;
    /** Video description. */
    description: string;
    /** ID of the thumbnail. */
    thumbnailId: string;
    /** Auto start transcoding. */
    autoTranscode: AutoTranscode;
    /**
     * Enable advertisement for this video.
     * Default: true.
     * Use this to disable advertisement for a specific video.
     */
    enableAd?: boolean;
    /** Custom labels as `` key:value `` pairs. Maximum 64 per resource. */
    labels: {
        [key: string]: string;
    };
    /**
     * Publicly accessible video available for viewing by anyone with the direct link.
     * No additional authorization or access control is applied.
     */
    publicAccess?: VideoPublicAccessParams | undefined;
    /** Checking access rights using url's signature. */
    signUrlAccess?: VideoSignURLAccessParams | undefined;
}
export interface UpdateVideoRequest_LabelsEntry {
    key: string;
    value: string;
}
export interface UpdateVideoMetadata {
    /** ID of the video. */
    videoId: string;
}
export interface TranscodeVideoRequest {
    /** ID of the video. */
    videoId: string;
    /**
     * Field mask that specifies which transcoding specific fields of the video
     * are going to be updated.
     */
    fieldMask?: FieldMask;
    /** IDs of active manually uploaded video subtitles. */
    subtitleIds: string[];
    /** Video translation settings. */
    translationSettings?: VideoTranslationSettings;
    /** Video summarization settings. */
    summarizationSettings?: VideoSummarizationSettings;
}
export interface VideoTranslationSettings {
    /** Translation settings for each track. */
    tracks: VideoTranslationSettings_TranslationTrack[];
}
export interface VideoTranslationSettings_TranslationTrack {
    /** Input track settings. */
    inputTrack?: VideoTranslationSettings_InputTrack;
    /** Settings for target subtitle tracks. */
    subtitles: VideoTranslationSettings_SubtitleTrack[];
    /** Settings for target audio tracks. */
    audio: VideoTranslationSettings_AudioTrack[];
}
export interface VideoTranslationSettings_InputTrack {
    /** Input audio track index (one-based). */
    trackIndex: number;
    /**
     * Source track 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
     * Track language will be deduced automatically if not provided.
     * In the latter case the deduction accuracy is not guaranteed.
     * For better performance please do specify the source track language when possible.
     */
    srcLang: string;
}
export interface VideoTranslationSettings_SubtitleTrack {
    /**
     * Target 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
     */
    dstLang: string;
    /** Track label to be displayed on the screen during video playback. */
    label: string;
}
export interface VideoTranslationSettings_AudioTrack {
    /**
     * Target 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
     */
    dstLang: string;
    /** Track label to be displayed on the screen during video playback. */
    label: string;
}
export interface VideoSummarizationSettings {
    /** Summarization settings for each track. */
    tracks: VideoSummarizationSettings_SummarizationTrack[];
    /**
     * Summarize all available tracks.
     * If enabled, `tracks` parameter is ignored.
     * Enables automatic source language deduction for each track
     * and thus may lead to performance degradation.
     */
    processAllTracks: boolean;
}
export interface VideoSummarizationSettings_SummarizationTrack {
    /** Input track settings. */
    inputTrack?: VideoSummarizationSettings_InputTrack;
}
export interface VideoSummarizationSettings_InputTrack {
    /** Input audio track index (one-based). */
    trackIndex: number;
    /**
     * Source track language (three-letter code according to ISO 639-2/T, ISO 639-2/B, or ISO 639-3).
     * It will be deduced automatically if not provided.
     * In the latter case the deduction accuracy is not guaranteed.
     * For better performance please do specify the source track language when possible.
     */
    srcLang: string;
}
export interface TranscodeVideoMetadata {
    /** ID of the video. */
    videoId: string;
}
export interface DeleteVideoRequest {
    /** ID of the video. */
    videoId: string;
}
export interface DeleteVideoMetadata {
    /** ID of the video. */
    videoId: string;
}
export interface BatchDeleteVideosRequest {
    /** ID of the channel. */
    channelId: string;
    /** List of video IDs. */
    videoIds: string[];
}
export interface BatchDeleteVideosMetadata {
    /** List of video IDs. */
    videoIds: string[];
}
export interface PerformVideoActionRequest {
    /** ID of the video. */
    videoId: string;
    publish?: PublishVideoAction | undefined;
    unpublish?: UnpublishVideoAction | undefined;
}
export interface PublishVideoAction {
}
export interface UnpublishVideoAction {
}
export interface PerformVideoActionMetadata {
    /** ID of the video. */
    videoId: string;
}
export interface GetVideoPlayerURLRequest {
    /** ID of the video. */
    videoId: string;
    params?: VideoPlayerParams;
    /** Optional field, used to set custom url expiration duration for videos with sign_url_access */
    signedUrlExpirationDuration?: Duration;
}
export interface VideoPlayerParams {
    /** If true, a player will be muted by default. */
    mute: boolean;
    /** If true, playback will start automatically. */
    autoplay: boolean;
    /** If true, a player interface will be hidden by default. */
    hidden: boolean;
}
export interface GetVideoPlayerURLResponse {
    /** Direct link to the video. */
    playerUrl: string;
    /** HTML embed code in Iframe format. */
    html: string;
}
export interface BatchGetVideoPlayerURLsRequest {
    /** ID of the channel. */
    channelId: string;
    /** List of requested video IDs. */
    videoIds: string[];
    params?: VideoPlayerParams;
    /** Optional field, used to set custom url expiration duration for videos with sign_url_access */
    signedUrlExpirationDuration?: Duration;
}
export interface BatchGetVideoPlayerURLsResponse {
    playerUrls: string[];
}
export interface GetVideoManifestsRequest {
    /** ID of the video. */
    videoId: string;
}
export interface GetVideoManifestsResponse {
    manifests: Manifest[];
}
export declare const GetVideoRequest: {
    encode(message: GetVideoRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetVideoRequest;
    fromJSON(object: any): GetVideoRequest;
    toJSON(message: GetVideoRequest): unknown;
    fromPartial<I extends {
        videoId?: string | undefined;
    } & {
        videoId?: string | undefined;
    } & Record<Exclude<keyof I, "videoId">, never>>(object: I): GetVideoRequest;
};
export declare const ListVideoRequest: {
    encode(message: ListVideoRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ListVideoRequest;
    fromJSON(object: any): ListVideoRequest;
    toJSON(message: ListVideoRequest): unknown;
    fromPartial<I extends {
        channelId?: string | undefined;
        pageSize?: number | undefined;
        pageToken?: string | undefined;
        orderBy?: string | undefined;
        filter?: string | undefined;
    } & {
        channelId?: string | undefined;
        pageSize?: number | undefined;
        pageToken?: string | undefined;
        orderBy?: string | undefined;
        filter?: string | undefined;
    } & Record<Exclude<keyof I, keyof ListVideoRequest>, never>>(object: I): ListVideoRequest;
};
export declare const ListVideoResponse: {
    encode(message: ListVideoResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ListVideoResponse;
    fromJSON(object: any): ListVideoResponse;
    toJSON(message: ListVideoResponse): unknown;
    fromPartial<I extends {
        videos?: {
            id?: string | undefined;
            channelId?: string | undefined;
            title?: string | undefined;
            description?: string | undefined;
            thumbnailId?: string | undefined;
            status?: import("../../../../yandex/cloud/video/v1/video").Video_VideoStatus | undefined;
            errorMessage?: string | undefined;
            visibilityStatus?: import("../../../../yandex/cloud/video/v1/video").Video_VisibilityStatus | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            autoTranscode?: AutoTranscode | undefined;
            enableAd?: boolean | undefined;
            subtitleIds?: string[] | undefined;
            features?: {
                summary?: {
                    result?: import("../../../../yandex/cloud/video/v1/video").VideoFeatures_FeatureResult | undefined;
                    urls?: {
                        url?: string | undefined;
                        trackIndex?: number | undefined;
                        srcLang?: string | undefined;
                    }[] | undefined;
                } | undefined;
            } | undefined;
            tusd?: {
                url?: string | undefined;
                fileSize?: number | undefined;
            } | undefined;
            publicAccess?: {} | undefined;
            signUrlAccess?: {} | undefined;
            createdAt?: Date | undefined;
            updatedAt?: Date | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
        }[] | undefined;
        nextPageToken?: string | undefined;
    } & {
        videos?: ({
            id?: string | undefined;
            channelId?: string | undefined;
            title?: string | undefined;
            description?: string | undefined;
            thumbnailId?: string | undefined;
            status?: import("../../../../yandex/cloud/video/v1/video").Video_VideoStatus | undefined;
            errorMessage?: string | undefined;
            visibilityStatus?: import("../../../../yandex/cloud/video/v1/video").Video_VisibilityStatus | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            autoTranscode?: AutoTranscode | undefined;
            enableAd?: boolean | undefined;
            subtitleIds?: string[] | undefined;
            features?: {
                summary?: {
                    result?: import("../../../../yandex/cloud/video/v1/video").VideoFeatures_FeatureResult | undefined;
                    urls?: {
                        url?: string | undefined;
                        trackIndex?: number | undefined;
                        srcLang?: string | undefined;
                    }[] | undefined;
                } | undefined;
            } | undefined;
            tusd?: {
                url?: string | undefined;
                fileSize?: number | undefined;
            } | undefined;
            publicAccess?: {} | undefined;
            signUrlAccess?: {} | undefined;
            createdAt?: Date | undefined;
            updatedAt?: Date | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
        }[] & ({
            id?: string | undefined;
            channelId?: string | undefined;
            title?: string | undefined;
            description?: string | undefined;
            thumbnailId?: string | undefined;
            status?: import("../../../../yandex/cloud/video/v1/video").Video_VideoStatus | undefined;
            errorMessage?: string | undefined;
            visibilityStatus?: import("../../../../yandex/cloud/video/v1/video").Video_VisibilityStatus | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            autoTranscode?: AutoTranscode | undefined;
            enableAd?: boolean | undefined;
            subtitleIds?: string[] | undefined;
            features?: {
                summary?: {
                    result?: import("../../../../yandex/cloud/video/v1/video").VideoFeatures_FeatureResult | undefined;
                    urls?: {
                        url?: string | undefined;
                        trackIndex?: number | undefined;
                        srcLang?: string | undefined;
                    }[] | undefined;
                } | undefined;
            } | undefined;
            tusd?: {
                url?: string | undefined;
                fileSize?: number | undefined;
            } | undefined;
            publicAccess?: {} | undefined;
            signUrlAccess?: {} | undefined;
            createdAt?: Date | undefined;
            updatedAt?: Date | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
        } & {
            id?: string | undefined;
            channelId?: string | undefined;
            title?: string | undefined;
            description?: string | undefined;
            thumbnailId?: string | undefined;
            status?: import("../../../../yandex/cloud/video/v1/video").Video_VideoStatus | undefined;
            errorMessage?: string | undefined;
            visibilityStatus?: import("../../../../yandex/cloud/video/v1/video").Video_VisibilityStatus | undefined;
            duration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & Record<Exclude<keyof I["videos"][number]["duration"], keyof Duration>, never>) | undefined;
            autoTranscode?: AutoTranscode | undefined;
            enableAd?: boolean | undefined;
            subtitleIds?: (string[] & string[] & Record<Exclude<keyof I["videos"][number]["subtitleIds"], keyof string[]>, never>) | undefined;
            features?: ({
                summary?: {
                    result?: import("../../../../yandex/cloud/video/v1/video").VideoFeatures_FeatureResult | undefined;
                    urls?: {
                        url?: string | undefined;
                        trackIndex?: number | undefined;
                        srcLang?: string | undefined;
                    }[] | undefined;
                } | undefined;
            } & {
                summary?: ({
                    result?: import("../../../../yandex/cloud/video/v1/video").VideoFeatures_FeatureResult | undefined;
                    urls?: {
                        url?: string | undefined;
                        trackIndex?: number | undefined;
                        srcLang?: string | undefined;
                    }[] | undefined;
                } & {
                    result?: import("../../../../yandex/cloud/video/v1/video").VideoFeatures_FeatureResult | undefined;
                    urls?: ({
                        url?: string | undefined;
                        trackIndex?: number | undefined;
                        srcLang?: string | undefined;
                    }[] & ({
                        url?: string | undefined;
                        trackIndex?: number | undefined;
                        srcLang?: string | undefined;
                    } & {
                        url?: string | undefined;
                        trackIndex?: number | undefined;
                        srcLang?: string | undefined;
                    } & Record<Exclude<keyof I["videos"][number]["features"]["summary"]["urls"][number], keyof import("../../../../yandex/cloud/video/v1/video").VideoFeatures_Summary_SummaryURL>, never>)[] & Record<Exclude<keyof I["videos"][number]["features"]["summary"]["urls"], keyof {
                        url?: string | undefined;
                        trackIndex?: number | undefined;
                        srcLang?: string | undefined;
                    }[]>, never>) | undefined;
                } & Record<Exclude<keyof I["videos"][number]["features"]["summary"], keyof import("../../../../yandex/cloud/video/v1/video").VideoFeatures_Summary>, never>) | undefined;
            } & Record<Exclude<keyof I["videos"][number]["features"], "summary">, never>) | undefined;
            tusd?: ({
                url?: string | undefined;
                fileSize?: number | undefined;
            } & {
                url?: string | undefined;
                fileSize?: number | undefined;
            } & Record<Exclude<keyof I["videos"][number]["tusd"], keyof import("../../../../yandex/cloud/video/v1/video").VideoTUSDSource>, never>) | undefined;
            publicAccess?: ({} & {} & Record<Exclude<keyof I["videos"][number]["publicAccess"], never>, never>) | undefined;
            signUrlAccess?: ({} & {} & Record<Exclude<keyof I["videos"][number]["signUrlAccess"], never>, never>) | undefined;
            createdAt?: Date | undefined;
            updatedAt?: Date | undefined;
            labels?: ({
                [x: string]: string | undefined;
            } & {
                [x: string]: string | undefined;
            } & Record<Exclude<keyof I["videos"][number]["labels"], string | number>, never>) | undefined;
        } & Record<Exclude<keyof I["videos"][number], keyof Video>, never>)[] & Record<Exclude<keyof I["videos"], keyof {
            id?: string | undefined;
            channelId?: string | undefined;
            title?: string | undefined;
            description?: string | undefined;
            thumbnailId?: string | undefined;
            status?: import("../../../../yandex/cloud/video/v1/video").Video_VideoStatus | undefined;
            errorMessage?: string | undefined;
            visibilityStatus?: import("../../../../yandex/cloud/video/v1/video").Video_VisibilityStatus | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            autoTranscode?: AutoTranscode | undefined;
            enableAd?: boolean | undefined;
            subtitleIds?: string[] | undefined;
            features?: {
                summary?: {
                    result?: import("../../../../yandex/cloud/video/v1/video").VideoFeatures_FeatureResult | undefined;
                    urls?: {
                        url?: string | undefined;
                        trackIndex?: number | undefined;
                        srcLang?: string | undefined;
                    }[] | undefined;
                } | undefined;
            } | undefined;
            tusd?: {
                url?: string | undefined;
                fileSize?: number | undefined;
            } | undefined;
            publicAccess?: {} | undefined;
            signUrlAccess?: {} | undefined;
            createdAt?: Date | undefined;
            updatedAt?: Date | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
        }[]>, never>) | undefined;
        nextPageToken?: string | undefined;
    } & Record<Exclude<keyof I, keyof ListVideoResponse>, never>>(object: I): ListVideoResponse;
};
export declare const BatchGetVideosRequest: {
    encode(message: BatchGetVideosRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchGetVideosRequest;
    fromJSON(object: any): BatchGetVideosRequest;
    toJSON(message: BatchGetVideosRequest): unknown;
    fromPartial<I extends {
        channelId?: string | undefined;
        videoIds?: string[] | undefined;
    } & {
        channelId?: string | undefined;
        videoIds?: (string[] & string[] & Record<Exclude<keyof I["videoIds"], keyof string[]>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof BatchGetVideosRequest>, never>>(object: I): BatchGetVideosRequest;
};
export declare const BatchGetVideosResponse: {
    encode(message: BatchGetVideosResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchGetVideosResponse;
    fromJSON(object: any): BatchGetVideosResponse;
    toJSON(message: BatchGetVideosResponse): unknown;
    fromPartial<I extends {
        videos?: {
            id?: string | undefined;
            channelId?: string | undefined;
            title?: string | undefined;
            description?: string | undefined;
            thumbnailId?: string | undefined;
            status?: import("../../../../yandex/cloud/video/v1/video").Video_VideoStatus | undefined;
            errorMessage?: string | undefined;
            visibilityStatus?: import("../../../../yandex/cloud/video/v1/video").Video_VisibilityStatus | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            autoTranscode?: AutoTranscode | undefined;
            enableAd?: boolean | undefined;
            subtitleIds?: string[] | undefined;
            features?: {
                summary?: {
                    result?: import("../../../../yandex/cloud/video/v1/video").VideoFeatures_FeatureResult | undefined;
                    urls?: {
                        url?: string | undefined;
                        trackIndex?: number | undefined;
                        srcLang?: string | undefined;
                    }[] | undefined;
                } | undefined;
            } | undefined;
            tusd?: {
                url?: string | undefined;
                fileSize?: number | undefined;
            } | undefined;
            publicAccess?: {} | undefined;
            signUrlAccess?: {} | undefined;
            createdAt?: Date | undefined;
            updatedAt?: Date | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
        }[] | undefined;
    } & {
        videos?: ({
            id?: string | undefined;
            channelId?: string | undefined;
            title?: string | undefined;
            description?: string | undefined;
            thumbnailId?: string | undefined;
            status?: import("../../../../yandex/cloud/video/v1/video").Video_VideoStatus | undefined;
            errorMessage?: string | undefined;
            visibilityStatus?: import("../../../../yandex/cloud/video/v1/video").Video_VisibilityStatus | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            autoTranscode?: AutoTranscode | undefined;
            enableAd?: boolean | undefined;
            subtitleIds?: string[] | undefined;
            features?: {
                summary?: {
                    result?: import("../../../../yandex/cloud/video/v1/video").VideoFeatures_FeatureResult | undefined;
                    urls?: {
                        url?: string | undefined;
                        trackIndex?: number | undefined;
                        srcLang?: string | undefined;
                    }[] | undefined;
                } | undefined;
            } | undefined;
            tusd?: {
                url?: string | undefined;
                fileSize?: number | undefined;
            } | undefined;
            publicAccess?: {} | undefined;
            signUrlAccess?: {} | undefined;
            createdAt?: Date | undefined;
            updatedAt?: Date | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
        }[] & ({
            id?: string | undefined;
            channelId?: string | undefined;
            title?: string | undefined;
            description?: string | undefined;
            thumbnailId?: string | undefined;
            status?: import("../../../../yandex/cloud/video/v1/video").Video_VideoStatus | undefined;
            errorMessage?: string | undefined;
            visibilityStatus?: import("../../../../yandex/cloud/video/v1/video").Video_VisibilityStatus | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            autoTranscode?: AutoTranscode | undefined;
            enableAd?: boolean | undefined;
            subtitleIds?: string[] | undefined;
            features?: {
                summary?: {
                    result?: import("../../../../yandex/cloud/video/v1/video").VideoFeatures_FeatureResult | undefined;
                    urls?: {
                        url?: string | undefined;
                        trackIndex?: number | undefined;
                        srcLang?: string | undefined;
                    }[] | undefined;
                } | undefined;
            } | undefined;
            tusd?: {
                url?: string | undefined;
                fileSize?: number | undefined;
            } | undefined;
            publicAccess?: {} | undefined;
            signUrlAccess?: {} | undefined;
            createdAt?: Date | undefined;
            updatedAt?: Date | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
        } & {
            id?: string | undefined;
            channelId?: string | undefined;
            title?: string | undefined;
            description?: string | undefined;
            thumbnailId?: string | undefined;
            status?: import("../../../../yandex/cloud/video/v1/video").Video_VideoStatus | undefined;
            errorMessage?: string | undefined;
            visibilityStatus?: import("../../../../yandex/cloud/video/v1/video").Video_VisibilityStatus | undefined;
            duration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & Record<Exclude<keyof I["videos"][number]["duration"], keyof Duration>, never>) | undefined;
            autoTranscode?: AutoTranscode | undefined;
            enableAd?: boolean | undefined;
            subtitleIds?: (string[] & string[] & Record<Exclude<keyof I["videos"][number]["subtitleIds"], keyof string[]>, never>) | undefined;
            features?: ({
                summary?: {
                    result?: import("../../../../yandex/cloud/video/v1/video").VideoFeatures_FeatureResult | undefined;
                    urls?: {
                        url?: string | undefined;
                        trackIndex?: number | undefined;
                        srcLang?: string | undefined;
                    }[] | undefined;
                } | undefined;
            } & {
                summary?: ({
                    result?: import("../../../../yandex/cloud/video/v1/video").VideoFeatures_FeatureResult | undefined;
                    urls?: {
                        url?: string | undefined;
                        trackIndex?: number | undefined;
                        srcLang?: string | undefined;
                    }[] | undefined;
                } & {
                    result?: import("../../../../yandex/cloud/video/v1/video").VideoFeatures_FeatureResult | undefined;
                    urls?: ({
                        url?: string | undefined;
                        trackIndex?: number | undefined;
                        srcLang?: string | undefined;
                    }[] & ({
                        url?: string | undefined;
                        trackIndex?: number | undefined;
                        srcLang?: string | undefined;
                    } & {
                        url?: string | undefined;
                        trackIndex?: number | undefined;
                        srcLang?: string | undefined;
                    } & Record<Exclude<keyof I["videos"][number]["features"]["summary"]["urls"][number], keyof import("../../../../yandex/cloud/video/v1/video").VideoFeatures_Summary_SummaryURL>, never>)[] & Record<Exclude<keyof I["videos"][number]["features"]["summary"]["urls"], keyof {
                        url?: string | undefined;
                        trackIndex?: number | undefined;
                        srcLang?: string | undefined;
                    }[]>, never>) | undefined;
                } & Record<Exclude<keyof I["videos"][number]["features"]["summary"], keyof import("../../../../yandex/cloud/video/v1/video").VideoFeatures_Summary>, never>) | undefined;
            } & Record<Exclude<keyof I["videos"][number]["features"], "summary">, never>) | undefined;
            tusd?: ({
                url?: string | undefined;
                fileSize?: number | undefined;
            } & {
                url?: string | undefined;
                fileSize?: number | undefined;
            } & Record<Exclude<keyof I["videos"][number]["tusd"], keyof import("../../../../yandex/cloud/video/v1/video").VideoTUSDSource>, never>) | undefined;
            publicAccess?: ({} & {} & Record<Exclude<keyof I["videos"][number]["publicAccess"], never>, never>) | undefined;
            signUrlAccess?: ({} & {} & Record<Exclude<keyof I["videos"][number]["signUrlAccess"], never>, never>) | undefined;
            createdAt?: Date | undefined;
            updatedAt?: Date | undefined;
            labels?: ({
                [x: string]: string | undefined;
            } & {
                [x: string]: string | undefined;
            } & Record<Exclude<keyof I["videos"][number]["labels"], string | number>, never>) | undefined;
        } & Record<Exclude<keyof I["videos"][number], keyof Video>, never>)[] & Record<Exclude<keyof I["videos"], keyof {
            id?: string | undefined;
            channelId?: string | undefined;
            title?: string | undefined;
            description?: string | undefined;
            thumbnailId?: string | undefined;
            status?: import("../../../../yandex/cloud/video/v1/video").Video_VideoStatus | undefined;
            errorMessage?: string | undefined;
            visibilityStatus?: import("../../../../yandex/cloud/video/v1/video").Video_VisibilityStatus | undefined;
            duration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            autoTranscode?: AutoTranscode | undefined;
            enableAd?: boolean | undefined;
            subtitleIds?: string[] | undefined;
            features?: {
                summary?: {
                    result?: import("../../../../yandex/cloud/video/v1/video").VideoFeatures_FeatureResult | undefined;
                    urls?: {
                        url?: string | undefined;
                        trackIndex?: number | undefined;
                        srcLang?: string | undefined;
                    }[] | undefined;
                } | undefined;
            } | undefined;
            tusd?: {
                url?: string | undefined;
                fileSize?: number | undefined;
            } | undefined;
            publicAccess?: {} | undefined;
            signUrlAccess?: {} | undefined;
            createdAt?: Date | undefined;
            updatedAt?: Date | undefined;
            labels?: {
                [x: string]: string | undefined;
            } | undefined;
        }[]>, never>) | undefined;
    } & Record<Exclude<keyof I, "videos">, never>>(object: I): BatchGetVideosResponse;
};
export declare const CreateVideoRequest: {
    encode(message: CreateVideoRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CreateVideoRequest;
    fromJSON(object: any): CreateVideoRequest;
    toJSON(message: CreateVideoRequest): unknown;
    fromPartial<I extends {
        channelId?: string | undefined;
        title?: string | undefined;
        description?: string | undefined;
        thumbnailId?: string | undefined;
        autoTranscode?: AutoTranscode | undefined;
        autoPublish?: boolean | undefined;
        enableAd?: boolean | undefined;
        labels?: {
            [x: string]: string | undefined;
        } | undefined;
        tusd?: {
            fileSize?: number | undefined;
            fileName?: string | undefined;
        } | undefined;
        publicAccess?: {} | undefined;
        signUrlAccess?: {} | undefined;
    } & {
        channelId?: string | undefined;
        title?: string | undefined;
        description?: string | undefined;
        thumbnailId?: string | undefined;
        autoTranscode?: AutoTranscode | undefined;
        autoPublish?: boolean | undefined;
        enableAd?: boolean | undefined;
        labels?: ({
            [x: string]: string | undefined;
        } & {
            [x: string]: string | undefined;
        } & Record<Exclude<keyof I["labels"], string | number>, never>) | undefined;
        tusd?: ({
            fileSize?: number | undefined;
            fileName?: string | undefined;
        } & {
            fileSize?: number | undefined;
            fileName?: string | undefined;
        } & Record<Exclude<keyof I["tusd"], keyof VideoTUSDParams>, never>) | undefined;
        publicAccess?: ({} & {} & Record<Exclude<keyof I["publicAccess"], never>, never>) | undefined;
        signUrlAccess?: ({} & {} & Record<Exclude<keyof I["signUrlAccess"], never>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof CreateVideoRequest>, never>>(object: I): CreateVideoRequest;
};
export declare const CreateVideoRequest_LabelsEntry: {
    encode(message: CreateVideoRequest_LabelsEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CreateVideoRequest_LabelsEntry;
    fromJSON(object: any): CreateVideoRequest_LabelsEntry;
    toJSON(message: CreateVideoRequest_LabelsEntry): unknown;
    fromPartial<I extends {
        key?: string | undefined;
        value?: string | undefined;
    } & {
        key?: string | undefined;
        value?: string | undefined;
    } & Record<Exclude<keyof I, keyof CreateVideoRequest_LabelsEntry>, never>>(object: I): CreateVideoRequest_LabelsEntry;
};
export declare const VideoTUSDParams: {
    encode(message: VideoTUSDParams, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): VideoTUSDParams;
    fromJSON(object: any): VideoTUSDParams;
    toJSON(message: VideoTUSDParams): unknown;
    fromPartial<I extends {
        fileSize?: number | undefined;
        fileName?: string | undefined;
    } & {
        fileSize?: number | undefined;
        fileName?: string | undefined;
    } & Record<Exclude<keyof I, keyof VideoTUSDParams>, never>>(object: I): VideoTUSDParams;
};
export declare const VideoPublicAccessParams: {
    encode(_: VideoPublicAccessParams, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): VideoPublicAccessParams;
    fromJSON(_: any): VideoPublicAccessParams;
    toJSON(_: VideoPublicAccessParams): unknown;
    fromPartial<I extends {} & {} & Record<Exclude<keyof I, never>, never>>(_: I): VideoPublicAccessParams;
};
export declare const VideoSignURLAccessParams: {
    encode(_: VideoSignURLAccessParams, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): VideoSignURLAccessParams;
    fromJSON(_: any): VideoSignURLAccessParams;
    toJSON(_: VideoSignURLAccessParams): unknown;
    fromPartial<I extends {} & {} & Record<Exclude<keyof I, never>, never>>(_: I): VideoSignURLAccessParams;
};
export declare const CreateVideoMetadata: {
    encode(message: CreateVideoMetadata, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CreateVideoMetadata;
    fromJSON(object: any): CreateVideoMetadata;
    toJSON(message: CreateVideoMetadata): unknown;
    fromPartial<I extends {
        videoId?: string | undefined;
    } & {
        videoId?: string | undefined;
    } & Record<Exclude<keyof I, "videoId">, never>>(object: I): CreateVideoMetadata;
};
export declare const UpdateVideoRequest: {
    encode(message: UpdateVideoRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): UpdateVideoRequest;
    fromJSON(object: any): UpdateVideoRequest;
    toJSON(message: UpdateVideoRequest): unknown;
    fromPartial<I extends {
        videoId?: string | undefined;
        fieldMask?: {
            paths?: string[] | undefined;
        } | undefined;
        title?: string | undefined;
        description?: string | undefined;
        thumbnailId?: string | undefined;
        autoTranscode?: AutoTranscode | undefined;
        enableAd?: boolean | undefined;
        labels?: {
            [x: string]: string | undefined;
        } | undefined;
        publicAccess?: {} | undefined;
        signUrlAccess?: {} | undefined;
    } & {
        videoId?: string | undefined;
        fieldMask?: ({
            paths?: string[] | undefined;
        } & {
            paths?: (string[] & string[] & Record<Exclude<keyof I["fieldMask"]["paths"], keyof string[]>, never>) | undefined;
        } & Record<Exclude<keyof I["fieldMask"], "paths">, never>) | undefined;
        title?: string | undefined;
        description?: string | undefined;
        thumbnailId?: string | undefined;
        autoTranscode?: AutoTranscode | undefined;
        enableAd?: boolean | undefined;
        labels?: ({
            [x: string]: string | undefined;
        } & {
            [x: string]: string | undefined;
        } & Record<Exclude<keyof I["labels"], string | number>, never>) | undefined;
        publicAccess?: ({} & {} & Record<Exclude<keyof I["publicAccess"], never>, never>) | undefined;
        signUrlAccess?: ({} & {} & Record<Exclude<keyof I["signUrlAccess"], never>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof UpdateVideoRequest>, never>>(object: I): UpdateVideoRequest;
};
export declare const UpdateVideoRequest_LabelsEntry: {
    encode(message: UpdateVideoRequest_LabelsEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): UpdateVideoRequest_LabelsEntry;
    fromJSON(object: any): UpdateVideoRequest_LabelsEntry;
    toJSON(message: UpdateVideoRequest_LabelsEntry): unknown;
    fromPartial<I extends {
        key?: string | undefined;
        value?: string | undefined;
    } & {
        key?: string | undefined;
        value?: string | undefined;
    } & Record<Exclude<keyof I, keyof UpdateVideoRequest_LabelsEntry>, never>>(object: I): UpdateVideoRequest_LabelsEntry;
};
export declare const UpdateVideoMetadata: {
    encode(message: UpdateVideoMetadata, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): UpdateVideoMetadata;
    fromJSON(object: any): UpdateVideoMetadata;
    toJSON(message: UpdateVideoMetadata): unknown;
    fromPartial<I extends {
        videoId?: string | undefined;
    } & {
        videoId?: string | undefined;
    } & Record<Exclude<keyof I, "videoId">, never>>(object: I): UpdateVideoMetadata;
};
export declare const TranscodeVideoRequest: {
    encode(message: TranscodeVideoRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): TranscodeVideoRequest;
    fromJSON(object: any): TranscodeVideoRequest;
    toJSON(message: TranscodeVideoRequest): unknown;
    fromPartial<I extends {
        videoId?: string | undefined;
        fieldMask?: {
            paths?: string[] | undefined;
        } | undefined;
        subtitleIds?: string[] | undefined;
        translationSettings?: {
            tracks?: {
                inputTrack?: {
                    trackIndex?: number | undefined;
                    srcLang?: string | undefined;
                } | undefined;
                subtitles?: {
                    dstLang?: string | undefined;
                    label?: string | undefined;
                }[] | undefined;
                audio?: {
                    dstLang?: string | undefined;
                    label?: string | undefined;
                }[] | undefined;
            }[] | undefined;
        } | undefined;
        summarizationSettings?: {
            tracks?: {
                inputTrack?: {
                    trackIndex?: number | undefined;
                    srcLang?: string | undefined;
                } | undefined;
            }[] | undefined;
            processAllTracks?: boolean | undefined;
        } | undefined;
    } & {
        videoId?: string | undefined;
        fieldMask?: ({
            paths?: string[] | undefined;
        } & {
            paths?: (string[] & string[] & Record<Exclude<keyof I["fieldMask"]["paths"], keyof string[]>, never>) | undefined;
        } & Record<Exclude<keyof I["fieldMask"], "paths">, never>) | undefined;
        subtitleIds?: (string[] & string[] & Record<Exclude<keyof I["subtitleIds"], keyof string[]>, never>) | undefined;
        translationSettings?: ({
            tracks?: {
                inputTrack?: {
                    trackIndex?: number | undefined;
                    srcLang?: string | undefined;
                } | undefined;
                subtitles?: {
                    dstLang?: string | undefined;
                    label?: string | undefined;
                }[] | undefined;
                audio?: {
                    dstLang?: string | undefined;
                    label?: string | undefined;
                }[] | undefined;
            }[] | undefined;
        } & {
            tracks?: ({
                inputTrack?: {
                    trackIndex?: number | undefined;
                    srcLang?: string | undefined;
                } | undefined;
                subtitles?: {
                    dstLang?: string | undefined;
                    label?: string | undefined;
                }[] | undefined;
                audio?: {
                    dstLang?: string | undefined;
                    label?: string | undefined;
                }[] | undefined;
            }[] & ({
                inputTrack?: {
                    trackIndex?: number | undefined;
                    srcLang?: string | undefined;
                } | undefined;
                subtitles?: {
                    dstLang?: string | undefined;
                    label?: string | undefined;
                }[] | undefined;
                audio?: {
                    dstLang?: string | undefined;
                    label?: string | undefined;
                }[] | undefined;
            } & {
                inputTrack?: ({
                    trackIndex?: number | undefined;
                    srcLang?: string | undefined;
                } & {
                    trackIndex?: number | undefined;
                    srcLang?: string | undefined;
                } & Record<Exclude<keyof I["translationSettings"]["tracks"][number]["inputTrack"], keyof VideoTranslationSettings_InputTrack>, never>) | undefined;
                subtitles?: ({
                    dstLang?: string | undefined;
                    label?: string | undefined;
                }[] & ({
                    dstLang?: string | undefined;
                    label?: string | undefined;
                } & {
                    dstLang?: string | undefined;
                    label?: string | undefined;
                } & Record<Exclude<keyof I["translationSettings"]["tracks"][number]["subtitles"][number], keyof VideoTranslationSettings_SubtitleTrack>, never>)[] & Record<Exclude<keyof I["translationSettings"]["tracks"][number]["subtitles"], keyof {
                    dstLang?: string | undefined;
                    label?: string | undefined;
                }[]>, never>) | undefined;
                audio?: ({
                    dstLang?: string | undefined;
                    label?: string | undefined;
                }[] & ({
                    dstLang?: string | undefined;
                    label?: string | undefined;
                } & {
                    dstLang?: string | undefined;
                    label?: string | undefined;
                } & Record<Exclude<keyof I["translationSettings"]["tracks"][number]["audio"][number], keyof VideoTranslationSettings_AudioTrack>, never>)[] & Record<Exclude<keyof I["translationSettings"]["tracks"][number]["audio"], keyof {
                    dstLang?: string | undefined;
                    label?: string | undefined;
                }[]>, never>) | undefined;
            } & Record<Exclude<keyof I["translationSettings"]["tracks"][number], keyof VideoTranslationSettings_TranslationTrack>, never>)[] & Record<Exclude<keyof I["translationSettings"]["tracks"], keyof {
                inputTrack?: {
                    trackIndex?: number | undefined;
                    srcLang?: string | undefined;
                } | undefined;
                subtitles?: {
                    dstLang?: string | undefined;
                    label?: string | undefined;
                }[] | undefined;
                audio?: {
                    dstLang?: string | undefined;
                    label?: string | undefined;
                }[] | undefined;
            }[]>, never>) | undefined;
        } & Record<Exclude<keyof I["translationSettings"], "tracks">, never>) | undefined;
        summarizationSettings?: ({
            tracks?: {
                inputTrack?: {
                    trackIndex?: number | undefined;
                    srcLang?: string | undefined;
                } | undefined;
            }[] | undefined;
            processAllTracks?: boolean | undefined;
        } & {
            tracks?: ({
                inputTrack?: {
                    trackIndex?: number | undefined;
                    srcLang?: string | undefined;
                } | undefined;
            }[] & ({
                inputTrack?: {
                    trackIndex?: number | undefined;
                    srcLang?: string | undefined;
                } | undefined;
            } & {
                inputTrack?: ({
                    trackIndex?: number | undefined;
                    srcLang?: string | undefined;
                } & {
                    trackIndex?: number | undefined;
                    srcLang?: string | undefined;
                } & Record<Exclude<keyof I["summarizationSettings"]["tracks"][number]["inputTrack"], keyof VideoSummarizationSettings_InputTrack>, never>) | undefined;
            } & Record<Exclude<keyof I["summarizationSettings"]["tracks"][number], "inputTrack">, never>)[] & Record<Exclude<keyof I["summarizationSettings"]["tracks"], keyof {
                inputTrack?: {
                    trackIndex?: number | undefined;
                    srcLang?: string | undefined;
                } | undefined;
            }[]>, never>) | undefined;
            processAllTracks?: boolean | undefined;
        } & Record<Exclude<keyof I["summarizationSettings"], keyof VideoSummarizationSettings>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof TranscodeVideoRequest>, never>>(object: I): TranscodeVideoRequest;
};
export declare const VideoTranslationSettings: {
    encode(message: VideoTranslationSettings, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): VideoTranslationSettings;
    fromJSON(object: any): VideoTranslationSettings;
    toJSON(message: VideoTranslationSettings): unknown;
    fromPartial<I extends {
        tracks?: {
            inputTrack?: {
                trackIndex?: number | undefined;
                srcLang?: string | undefined;
            } | undefined;
            subtitles?: {
                dstLang?: string | undefined;
                label?: string | undefined;
            }[] | undefined;
            audio?: {
                dstLang?: string | undefined;
                label?: string | undefined;
            }[] | undefined;
        }[] | undefined;
    } & {
        tracks?: ({
            inputTrack?: {
                trackIndex?: number | undefined;
                srcLang?: string | undefined;
            } | undefined;
            subtitles?: {
                dstLang?: string | undefined;
                label?: string | undefined;
            }[] | undefined;
            audio?: {
                dstLang?: string | undefined;
                label?: string | undefined;
            }[] | undefined;
        }[] & ({
            inputTrack?: {
                trackIndex?: number | undefined;
                srcLang?: string | undefined;
            } | undefined;
            subtitles?: {
                dstLang?: string | undefined;
                label?: string | undefined;
            }[] | undefined;
            audio?: {
                dstLang?: string | undefined;
                label?: string | undefined;
            }[] | undefined;
        } & {
            inputTrack?: ({
                trackIndex?: number | undefined;
                srcLang?: string | undefined;
            } & {
                trackIndex?: number | undefined;
                srcLang?: string | undefined;
            } & Record<Exclude<keyof I["tracks"][number]["inputTrack"], keyof VideoTranslationSettings_InputTrack>, never>) | undefined;
            subtitles?: ({
                dstLang?: string | undefined;
                label?: string | undefined;
            }[] & ({
                dstLang?: string | undefined;
                label?: string | undefined;
            } & {
                dstLang?: string | undefined;
                label?: string | undefined;
            } & Record<Exclude<keyof I["tracks"][number]["subtitles"][number], keyof VideoTranslationSettings_SubtitleTrack>, never>)[] & Record<Exclude<keyof I["tracks"][number]["subtitles"], keyof {
                dstLang?: string | undefined;
                label?: string | undefined;
            }[]>, never>) | undefined;
            audio?: ({
                dstLang?: string | undefined;
                label?: string | undefined;
            }[] & ({
                dstLang?: string | undefined;
                label?: string | undefined;
            } & {
                dstLang?: string | undefined;
                label?: string | undefined;
            } & Record<Exclude<keyof I["tracks"][number]["audio"][number], keyof VideoTranslationSettings_AudioTrack>, never>)[] & Record<Exclude<keyof I["tracks"][number]["audio"], keyof {
                dstLang?: string | undefined;
                label?: string | undefined;
            }[]>, never>) | undefined;
        } & Record<Exclude<keyof I["tracks"][number], keyof VideoTranslationSettings_TranslationTrack>, never>)[] & Record<Exclude<keyof I["tracks"], keyof {
            inputTrack?: {
                trackIndex?: number | undefined;
                srcLang?: string | undefined;
            } | undefined;
            subtitles?: {
                dstLang?: string | undefined;
                label?: string | undefined;
            }[] | undefined;
            audio?: {
                dstLang?: string | undefined;
                label?: string | undefined;
            }[] | undefined;
        }[]>, never>) | undefined;
    } & Record<Exclude<keyof I, "tracks">, never>>(object: I): VideoTranslationSettings;
};
export declare const VideoTranslationSettings_TranslationTrack: {
    encode(message: VideoTranslationSettings_TranslationTrack, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): VideoTranslationSettings_TranslationTrack;
    fromJSON(object: any): VideoTranslationSettings_TranslationTrack;
    toJSON(message: VideoTranslationSettings_TranslationTrack): unknown;
    fromPartial<I extends {
        inputTrack?: {
            trackIndex?: number | undefined;
            srcLang?: string | undefined;
        } | undefined;
        subtitles?: {
            dstLang?: string | undefined;
            label?: string | undefined;
        }[] | undefined;
        audio?: {
            dstLang?: string | undefined;
            label?: string | undefined;
        }[] | undefined;
    } & {
        inputTrack?: ({
            trackIndex?: number | undefined;
            srcLang?: string | undefined;
        } & {
            trackIndex?: number | undefined;
            srcLang?: string | undefined;
        } & Record<Exclude<keyof I["inputTrack"], keyof VideoTranslationSettings_InputTrack>, never>) | undefined;
        subtitles?: ({
            dstLang?: string | undefined;
            label?: string | undefined;
        }[] & ({
            dstLang?: string | undefined;
            label?: string | undefined;
        } & {
            dstLang?: string | undefined;
            label?: string | undefined;
        } & Record<Exclude<keyof I["subtitles"][number], keyof VideoTranslationSettings_SubtitleTrack>, never>)[] & Record<Exclude<keyof I["subtitles"], keyof {
            dstLang?: string | undefined;
            label?: string | undefined;
        }[]>, never>) | undefined;
        audio?: ({
            dstLang?: string | undefined;
            label?: string | undefined;
        }[] & ({
            dstLang?: string | undefined;
            label?: string | undefined;
        } & {
            dstLang?: string | undefined;
            label?: string | undefined;
        } & Record<Exclude<keyof I["audio"][number], keyof VideoTranslationSettings_AudioTrack>, never>)[] & Record<Exclude<keyof I["audio"], keyof {
            dstLang?: string | undefined;
            label?: string | undefined;
        }[]>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof VideoTranslationSettings_TranslationTrack>, never>>(object: I): VideoTranslationSettings_TranslationTrack;
};
export declare const VideoTranslationSettings_InputTrack: {
    encode(message: VideoTranslationSettings_InputTrack, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): VideoTranslationSettings_InputTrack;
    fromJSON(object: any): VideoTranslationSettings_InputTrack;
    toJSON(message: VideoTranslationSettings_InputTrack): unknown;
    fromPartial<I extends {
        trackIndex?: number | undefined;
        srcLang?: string | undefined;
    } & {
        trackIndex?: number | undefined;
        srcLang?: string | undefined;
    } & Record<Exclude<keyof I, keyof VideoTranslationSettings_InputTrack>, never>>(object: I): VideoTranslationSettings_InputTrack;
};
export declare const VideoTranslationSettings_SubtitleTrack: {
    encode(message: VideoTranslationSettings_SubtitleTrack, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): VideoTranslationSettings_SubtitleTrack;
    fromJSON(object: any): VideoTranslationSettings_SubtitleTrack;
    toJSON(message: VideoTranslationSettings_SubtitleTrack): unknown;
    fromPartial<I extends {
        dstLang?: string | undefined;
        label?: string | undefined;
    } & {
        dstLang?: string | undefined;
        label?: string | undefined;
    } & Record<Exclude<keyof I, keyof VideoTranslationSettings_SubtitleTrack>, never>>(object: I): VideoTranslationSettings_SubtitleTrack;
};
export declare const VideoTranslationSettings_AudioTrack: {
    encode(message: VideoTranslationSettings_AudioTrack, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): VideoTranslationSettings_AudioTrack;
    fromJSON(object: any): VideoTranslationSettings_AudioTrack;
    toJSON(message: VideoTranslationSettings_AudioTrack): unknown;
    fromPartial<I extends {
        dstLang?: string | undefined;
        label?: string | undefined;
    } & {
        dstLang?: string | undefined;
        label?: string | undefined;
    } & Record<Exclude<keyof I, keyof VideoTranslationSettings_AudioTrack>, never>>(object: I): VideoTranslationSettings_AudioTrack;
};
export declare const VideoSummarizationSettings: {
    encode(message: VideoSummarizationSettings, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): VideoSummarizationSettings;
    fromJSON(object: any): VideoSummarizationSettings;
    toJSON(message: VideoSummarizationSettings): unknown;
    fromPartial<I extends {
        tracks?: {
            inputTrack?: {
                trackIndex?: number | undefined;
                srcLang?: string | undefined;
            } | undefined;
        }[] | undefined;
        processAllTracks?: boolean | undefined;
    } & {
        tracks?: ({
            inputTrack?: {
                trackIndex?: number | undefined;
                srcLang?: string | undefined;
            } | undefined;
        }[] & ({
            inputTrack?: {
                trackIndex?: number | undefined;
                srcLang?: string | undefined;
            } | undefined;
        } & {
            inputTrack?: ({
                trackIndex?: number | undefined;
                srcLang?: string | undefined;
            } & {
                trackIndex?: number | undefined;
                srcLang?: string | undefined;
            } & Record<Exclude<keyof I["tracks"][number]["inputTrack"], keyof VideoSummarizationSettings_InputTrack>, never>) | undefined;
        } & Record<Exclude<keyof I["tracks"][number], "inputTrack">, never>)[] & Record<Exclude<keyof I["tracks"], keyof {
            inputTrack?: {
                trackIndex?: number | undefined;
                srcLang?: string | undefined;
            } | undefined;
        }[]>, never>) | undefined;
        processAllTracks?: boolean | undefined;
    } & Record<Exclude<keyof I, keyof VideoSummarizationSettings>, never>>(object: I): VideoSummarizationSettings;
};
export declare const VideoSummarizationSettings_SummarizationTrack: {
    encode(message: VideoSummarizationSettings_SummarizationTrack, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): VideoSummarizationSettings_SummarizationTrack;
    fromJSON(object: any): VideoSummarizationSettings_SummarizationTrack;
    toJSON(message: VideoSummarizationSettings_SummarizationTrack): unknown;
    fromPartial<I extends {
        inputTrack?: {
            trackIndex?: number | undefined;
            srcLang?: string | undefined;
        } | undefined;
    } & {
        inputTrack?: ({
            trackIndex?: number | undefined;
            srcLang?: string | undefined;
        } & {
            trackIndex?: number | undefined;
            srcLang?: string | undefined;
        } & Record<Exclude<keyof I["inputTrack"], keyof VideoSummarizationSettings_InputTrack>, never>) | undefined;
    } & Record<Exclude<keyof I, "inputTrack">, never>>(object: I): VideoSummarizationSettings_SummarizationTrack;
};
export declare const VideoSummarizationSettings_InputTrack: {
    encode(message: VideoSummarizationSettings_InputTrack, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): VideoSummarizationSettings_InputTrack;
    fromJSON(object: any): VideoSummarizationSettings_InputTrack;
    toJSON(message: VideoSummarizationSettings_InputTrack): unknown;
    fromPartial<I extends {
        trackIndex?: number | undefined;
        srcLang?: string | undefined;
    } & {
        trackIndex?: number | undefined;
        srcLang?: string | undefined;
    } & Record<Exclude<keyof I, keyof VideoSummarizationSettings_InputTrack>, never>>(object: I): VideoSummarizationSettings_InputTrack;
};
export declare const TranscodeVideoMetadata: {
    encode(message: TranscodeVideoMetadata, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): TranscodeVideoMetadata;
    fromJSON(object: any): TranscodeVideoMetadata;
    toJSON(message: TranscodeVideoMetadata): unknown;
    fromPartial<I extends {
        videoId?: string | undefined;
    } & {
        videoId?: string | undefined;
    } & Record<Exclude<keyof I, "videoId">, never>>(object: I): TranscodeVideoMetadata;
};
export declare const DeleteVideoRequest: {
    encode(message: DeleteVideoRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DeleteVideoRequest;
    fromJSON(object: any): DeleteVideoRequest;
    toJSON(message: DeleteVideoRequest): unknown;
    fromPartial<I extends {
        videoId?: string | undefined;
    } & {
        videoId?: string | undefined;
    } & Record<Exclude<keyof I, "videoId">, never>>(object: I): DeleteVideoRequest;
};
export declare const DeleteVideoMetadata: {
    encode(message: DeleteVideoMetadata, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DeleteVideoMetadata;
    fromJSON(object: any): DeleteVideoMetadata;
    toJSON(message: DeleteVideoMetadata): unknown;
    fromPartial<I extends {
        videoId?: string | undefined;
    } & {
        videoId?: string | undefined;
    } & Record<Exclude<keyof I, "videoId">, never>>(object: I): DeleteVideoMetadata;
};
export declare const BatchDeleteVideosRequest: {
    encode(message: BatchDeleteVideosRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchDeleteVideosRequest;
    fromJSON(object: any): BatchDeleteVideosRequest;
    toJSON(message: BatchDeleteVideosRequest): unknown;
    fromPartial<I extends {
        channelId?: string | undefined;
        videoIds?: string[] | undefined;
    } & {
        channelId?: string | undefined;
        videoIds?: (string[] & string[] & Record<Exclude<keyof I["videoIds"], keyof string[]>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof BatchDeleteVideosRequest>, never>>(object: I): BatchDeleteVideosRequest;
};
export declare const BatchDeleteVideosMetadata: {
    encode(message: BatchDeleteVideosMetadata, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchDeleteVideosMetadata;
    fromJSON(object: any): BatchDeleteVideosMetadata;
    toJSON(message: BatchDeleteVideosMetadata): unknown;
    fromPartial<I extends {
        videoIds?: string[] | undefined;
    } & {
        videoIds?: (string[] & string[] & Record<Exclude<keyof I["videoIds"], keyof string[]>, never>) | undefined;
    } & Record<Exclude<keyof I, "videoIds">, never>>(object: I): BatchDeleteVideosMetadata;
};
export declare const PerformVideoActionRequest: {
    encode(message: PerformVideoActionRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): PerformVideoActionRequest;
    fromJSON(object: any): PerformVideoActionRequest;
    toJSON(message: PerformVideoActionRequest): unknown;
    fromPartial<I extends {
        videoId?: string | undefined;
        publish?: {} | undefined;
        unpublish?: {} | undefined;
    } & {
        videoId?: string | undefined;
        publish?: ({} & {} & Record<Exclude<keyof I["publish"], never>, never>) | undefined;
        unpublish?: ({} & {} & Record<Exclude<keyof I["unpublish"], never>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof PerformVideoActionRequest>, never>>(object: I): PerformVideoActionRequest;
};
export declare const PublishVideoAction: {
    encode(_: PublishVideoAction, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): PublishVideoAction;
    fromJSON(_: any): PublishVideoAction;
    toJSON(_: PublishVideoAction): unknown;
    fromPartial<I extends {} & {} & Record<Exclude<keyof I, never>, never>>(_: I): PublishVideoAction;
};
export declare const UnpublishVideoAction: {
    encode(_: UnpublishVideoAction, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): UnpublishVideoAction;
    fromJSON(_: any): UnpublishVideoAction;
    toJSON(_: UnpublishVideoAction): unknown;
    fromPartial<I extends {} & {} & Record<Exclude<keyof I, never>, never>>(_: I): UnpublishVideoAction;
};
export declare const PerformVideoActionMetadata: {
    encode(message: PerformVideoActionMetadata, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): PerformVideoActionMetadata;
    fromJSON(object: any): PerformVideoActionMetadata;
    toJSON(message: PerformVideoActionMetadata): unknown;
    fromPartial<I extends {
        videoId?: string | undefined;
    } & {
        videoId?: string | undefined;
    } & Record<Exclude<keyof I, "videoId">, never>>(object: I): PerformVideoActionMetadata;
};
export declare const GetVideoPlayerURLRequest: {
    encode(message: GetVideoPlayerURLRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetVideoPlayerURLRequest;
    fromJSON(object: any): GetVideoPlayerURLRequest;
    toJSON(message: GetVideoPlayerURLRequest): unknown;
    fromPartial<I extends {
        videoId?: string | undefined;
        params?: {
            mute?: boolean | undefined;
            autoplay?: boolean | undefined;
            hidden?: boolean | undefined;
        } | undefined;
        signedUrlExpirationDuration?: {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } | undefined;
    } & {
        videoId?: string | undefined;
        params?: ({
            mute?: boolean | undefined;
            autoplay?: boolean | undefined;
            hidden?: boolean | undefined;
        } & {
            mute?: boolean | undefined;
            autoplay?: boolean | undefined;
            hidden?: boolean | undefined;
        } & Record<Exclude<keyof I["params"], keyof VideoPlayerParams>, never>) | undefined;
        signedUrlExpirationDuration?: ({
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & Record<Exclude<keyof I["signedUrlExpirationDuration"], keyof Duration>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof GetVideoPlayerURLRequest>, never>>(object: I): GetVideoPlayerURLRequest;
};
export declare const VideoPlayerParams: {
    encode(message: VideoPlayerParams, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): VideoPlayerParams;
    fromJSON(object: any): VideoPlayerParams;
    toJSON(message: VideoPlayerParams): unknown;
    fromPartial<I extends {
        mute?: boolean | undefined;
        autoplay?: boolean | undefined;
        hidden?: boolean | undefined;
    } & {
        mute?: boolean | undefined;
        autoplay?: boolean | undefined;
        hidden?: boolean | undefined;
    } & Record<Exclude<keyof I, keyof VideoPlayerParams>, never>>(object: I): VideoPlayerParams;
};
export declare const GetVideoPlayerURLResponse: {
    encode(message: GetVideoPlayerURLResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetVideoPlayerURLResponse;
    fromJSON(object: any): GetVideoPlayerURLResponse;
    toJSON(message: GetVideoPlayerURLResponse): unknown;
    fromPartial<I extends {
        playerUrl?: string | undefined;
        html?: string | undefined;
    } & {
        playerUrl?: string | undefined;
        html?: string | undefined;
    } & Record<Exclude<keyof I, keyof GetVideoPlayerURLResponse>, never>>(object: I): GetVideoPlayerURLResponse;
};
export declare const BatchGetVideoPlayerURLsRequest: {
    encode(message: BatchGetVideoPlayerURLsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchGetVideoPlayerURLsRequest;
    fromJSON(object: any): BatchGetVideoPlayerURLsRequest;
    toJSON(message: BatchGetVideoPlayerURLsRequest): unknown;
    fromPartial<I extends {
        channelId?: string | undefined;
        videoIds?: string[] | undefined;
        params?: {
            mute?: boolean | undefined;
            autoplay?: boolean | undefined;
            hidden?: boolean | undefined;
        } | undefined;
        signedUrlExpirationDuration?: {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } | undefined;
    } & {
        channelId?: string | undefined;
        videoIds?: (string[] & string[] & Record<Exclude<keyof I["videoIds"], keyof string[]>, never>) | undefined;
        params?: ({
            mute?: boolean | undefined;
            autoplay?: boolean | undefined;
            hidden?: boolean | undefined;
        } & {
            mute?: boolean | undefined;
            autoplay?: boolean | undefined;
            hidden?: boolean | undefined;
        } & Record<Exclude<keyof I["params"], keyof VideoPlayerParams>, never>) | undefined;
        signedUrlExpirationDuration?: ({
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & Record<Exclude<keyof I["signedUrlExpirationDuration"], keyof Duration>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof BatchGetVideoPlayerURLsRequest>, never>>(object: I): BatchGetVideoPlayerURLsRequest;
};
export declare const BatchGetVideoPlayerURLsResponse: {
    encode(message: BatchGetVideoPlayerURLsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BatchGetVideoPlayerURLsResponse;
    fromJSON(object: any): BatchGetVideoPlayerURLsResponse;
    toJSON(message: BatchGetVideoPlayerURLsResponse): unknown;
    fromPartial<I extends {
        playerUrls?: string[] | undefined;
    } & {
        playerUrls?: (string[] & string[] & Record<Exclude<keyof I["playerUrls"], keyof string[]>, never>) | undefined;
    } & Record<Exclude<keyof I, "playerUrls">, never>>(object: I): BatchGetVideoPlayerURLsResponse;
};
export declare const GetVideoManifestsRequest: {
    encode(message: GetVideoManifestsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetVideoManifestsRequest;
    fromJSON(object: any): GetVideoManifestsRequest;
    toJSON(message: GetVideoManifestsRequest): unknown;
    fromPartial<I extends {
        videoId?: string | undefined;
    } & {
        videoId?: string | undefined;
    } & Record<Exclude<keyof I, "videoId">, never>>(object: I): GetVideoManifestsRequest;
};
export declare const GetVideoManifestsResponse: {
    encode(message: GetVideoManifestsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetVideoManifestsResponse;
    fromJSON(object: any): GetVideoManifestsResponse;
    toJSON(message: GetVideoManifestsResponse): unknown;
    fromPartial<I extends {
        manifests?: {
            url?: string | undefined;
            type?: import("../../../../yandex/cloud/video/v1/manifest").Manifest_ManifestType | undefined;
        }[] | undefined;
    } & {
        manifests?: ({
            url?: string | undefined;
            type?: import("../../../../yandex/cloud/video/v1/manifest").Manifest_ManifestType | undefined;
        }[] & ({
            url?: string | undefined;
            type?: import("../../../../yandex/cloud/video/v1/manifest").Manifest_ManifestType | undefined;
        } & {
            url?: string | undefined;
            type?: import("../../../../yandex/cloud/video/v1/manifest").Manifest_ManifestType | undefined;
        } & Record<Exclude<keyof I["manifests"][number], keyof Manifest>, never>)[] & Record<Exclude<keyof I["manifests"], keyof {
            url?: string | undefined;
            type?: import("../../../../yandex/cloud/video/v1/manifest").Manifest_ManifestType | undefined;
        }[]>, never>) | undefined;
    } & Record<Exclude<keyof I, "manifests">, never>>(object: I): GetVideoManifestsResponse;
};
/** Video management service. */
export declare const VideoServiceService: {
    /** Get the specific video. */
    readonly get: {
        readonly path: "/yandex.cloud.video.v1.VideoService/Get";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: GetVideoRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => GetVideoRequest;
        readonly responseSerialize: (value: Video) => Buffer;
        readonly responseDeserialize: (value: Buffer) => Video;
    };
    /** List videos for channel. */
    readonly list: {
        readonly path: "/yandex.cloud.video.v1.VideoService/List";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: ListVideoRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => ListVideoRequest;
        readonly responseSerialize: (value: ListVideoResponse) => Buffer;
        readonly responseDeserialize: (value: Buffer) => ListVideoResponse;
    };
    /** Batch get videos in specific channel. */
    readonly batchGet: {
        readonly path: "/yandex.cloud.video.v1.VideoService/BatchGet";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: BatchGetVideosRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => BatchGetVideosRequest;
        readonly responseSerialize: (value: BatchGetVideosResponse) => Buffer;
        readonly responseDeserialize: (value: Buffer) => BatchGetVideosResponse;
    };
    /** Create video. */
    readonly create: {
        readonly path: "/yandex.cloud.video.v1.VideoService/Create";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: CreateVideoRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => CreateVideoRequest;
        readonly responseSerialize: (value: Operation) => Buffer;
        readonly responseDeserialize: (value: Buffer) => Operation;
    };
    /** Update video. */
    readonly update: {
        readonly path: "/yandex.cloud.video.v1.VideoService/Update";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: UpdateVideoRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => UpdateVideoRequest;
        readonly responseSerialize: (value: Operation) => Buffer;
        readonly responseDeserialize: (value: Buffer) => Operation;
    };
    /** Transcode video. */
    readonly transcode: {
        readonly path: "/yandex.cloud.video.v1.VideoService/Transcode";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: TranscodeVideoRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => TranscodeVideoRequest;
        readonly responseSerialize: (value: Operation) => Buffer;
        readonly responseDeserialize: (value: Buffer) => Operation;
    };
    /** Delete video. */
    readonly delete: {
        readonly path: "/yandex.cloud.video.v1.VideoService/Delete";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: DeleteVideoRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => DeleteVideoRequest;
        readonly responseSerialize: (value: Operation) => Buffer;
        readonly responseDeserialize: (value: Buffer) => Operation;
    };
    /** Batch delete videos. */
    readonly batchDelete: {
        readonly path: "/yandex.cloud.video.v1.VideoService/BatchDelete";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: BatchDeleteVideosRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => BatchDeleteVideosRequest;
        readonly responseSerialize: (value: Operation) => Buffer;
        readonly responseDeserialize: (value: Buffer) => Operation;
    };
    /** Perform an action on the video. */
    readonly performAction: {
        readonly path: "/yandex.cloud.video.v1.VideoService/PerformAction";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: PerformVideoActionRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => PerformVideoActionRequest;
        readonly responseSerialize: (value: Operation) => Buffer;
        readonly responseDeserialize: (value: Buffer) => Operation;
    };
    /** Get player url. */
    readonly getPlayerURL: {
        readonly path: "/yandex.cloud.video.v1.VideoService/GetPlayerURL";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: GetVideoPlayerURLRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => GetVideoPlayerURLRequest;
        readonly responseSerialize: (value: GetVideoPlayerURLResponse) => Buffer;
        readonly responseDeserialize: (value: Buffer) => GetVideoPlayerURLResponse;
    };
    /** Batch get player urls. */
    readonly batchGetPlayerURLs: {
        readonly path: "/yandex.cloud.video.v1.VideoService/BatchGetPlayerURLs";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: BatchGetVideoPlayerURLsRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => BatchGetVideoPlayerURLsRequest;
        readonly responseSerialize: (value: BatchGetVideoPlayerURLsResponse) => Buffer;
        readonly responseDeserialize: (value: Buffer) => BatchGetVideoPlayerURLsResponse;
    };
    /** Get manifest urls. */
    readonly getManifests: {
        readonly path: "/yandex.cloud.video.v1.VideoService/GetManifests";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: GetVideoManifestsRequest) => Buffer;
        readonly requestDeserialize: (value: Buffer) => GetVideoManifestsRequest;
        readonly responseSerialize: (value: GetVideoManifestsResponse) => Buffer;
        readonly responseDeserialize: (value: Buffer) => GetVideoManifestsResponse;
    };
};
export interface VideoServiceServer extends UntypedServiceImplementation {
    /** Get the specific video. */
    get: handleUnaryCall<GetVideoRequest, Video>;
    /** List videos for channel. */
    list: handleUnaryCall<ListVideoRequest, ListVideoResponse>;
    /** Batch get videos in specific channel. */
    batchGet: handleUnaryCall<BatchGetVideosRequest, BatchGetVideosResponse>;
    /** Create video. */
    create: handleUnaryCall<CreateVideoRequest, Operation>;
    /** Update video. */
    update: handleUnaryCall<UpdateVideoRequest, Operation>;
    /** Transcode video. */
    transcode: handleUnaryCall<TranscodeVideoRequest, Operation>;
    /** Delete video. */
    delete: handleUnaryCall<DeleteVideoRequest, Operation>;
    /** Batch delete videos. */
    batchDelete: handleUnaryCall<BatchDeleteVideosRequest, Operation>;
    /** Perform an action on the video. */
    performAction: handleUnaryCall<PerformVideoActionRequest, Operation>;
    /** Get player url. */
    getPlayerURL: handleUnaryCall<GetVideoPlayerURLRequest, GetVideoPlayerURLResponse>;
    /** Batch get player urls. */
    batchGetPlayerURLs: handleUnaryCall<BatchGetVideoPlayerURLsRequest, BatchGetVideoPlayerURLsResponse>;
    /** Get manifest urls. */
    getManifests: handleUnaryCall<GetVideoManifestsRequest, GetVideoManifestsResponse>;
}
export interface VideoServiceClient extends Client {
    /** Get the specific video. */
    get(request: GetVideoRequest, callback: (error: ServiceError | null, response: Video) => void): ClientUnaryCall;
    get(request: GetVideoRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Video) => void): ClientUnaryCall;
    get(request: GetVideoRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: Video) => void): ClientUnaryCall;
    /** List videos for channel. */
    list(request: ListVideoRequest, callback: (error: ServiceError | null, response: ListVideoResponse) => void): ClientUnaryCall;
    list(request: ListVideoRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListVideoResponse) => void): ClientUnaryCall;
    list(request: ListVideoRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: ListVideoResponse) => void): ClientUnaryCall;
    /** Batch get videos in specific channel. */
    batchGet(request: BatchGetVideosRequest, callback: (error: ServiceError | null, response: BatchGetVideosResponse) => void): ClientUnaryCall;
    batchGet(request: BatchGetVideosRequest, metadata: Metadata, callback: (error: ServiceError | null, response: BatchGetVideosResponse) => void): ClientUnaryCall;
    batchGet(request: BatchGetVideosRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: BatchGetVideosResponse) => void): ClientUnaryCall;
    /** Create video. */
    create(request: CreateVideoRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    create(request: CreateVideoRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    create(request: CreateVideoRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    /** Update video. */
    update(request: UpdateVideoRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    update(request: UpdateVideoRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    update(request: UpdateVideoRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    /** Transcode video. */
    transcode(request: TranscodeVideoRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    transcode(request: TranscodeVideoRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    transcode(request: TranscodeVideoRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    /** Delete video. */
    delete(request: DeleteVideoRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    delete(request: DeleteVideoRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    delete(request: DeleteVideoRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    /** Batch delete videos. */
    batchDelete(request: BatchDeleteVideosRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    batchDelete(request: BatchDeleteVideosRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    batchDelete(request: BatchDeleteVideosRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    /** Perform an action on the video. */
    performAction(request: PerformVideoActionRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    performAction(request: PerformVideoActionRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    performAction(request: PerformVideoActionRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall;
    /** Get player url. */
    getPlayerURL(request: GetVideoPlayerURLRequest, callback: (error: ServiceError | null, response: GetVideoPlayerURLResponse) => void): ClientUnaryCall;
    getPlayerURL(request: GetVideoPlayerURLRequest, metadata: Metadata, callback: (error: ServiceError | null, response: GetVideoPlayerURLResponse) => void): ClientUnaryCall;
    getPlayerURL(request: GetVideoPlayerURLRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: GetVideoPlayerURLResponse) => void): ClientUnaryCall;
    /** Batch get player urls. */
    batchGetPlayerURLs(request: BatchGetVideoPlayerURLsRequest, callback: (error: ServiceError | null, response: BatchGetVideoPlayerURLsResponse) => void): ClientUnaryCall;
    batchGetPlayerURLs(request: BatchGetVideoPlayerURLsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: BatchGetVideoPlayerURLsResponse) => void): ClientUnaryCall;
    batchGetPlayerURLs(request: BatchGetVideoPlayerURLsRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: BatchGetVideoPlayerURLsResponse) => void): ClientUnaryCall;
    /** Get manifest urls. */
    getManifests(request: GetVideoManifestsRequest, callback: (error: ServiceError | null, response: GetVideoManifestsResponse) => void): ClientUnaryCall;
    getManifests(request: GetVideoManifestsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: GetVideoManifestsResponse) => void): ClientUnaryCall;
    getManifests(request: GetVideoManifestsRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: GetVideoManifestsResponse) => void): ClientUnaryCall;
}
export declare const VideoServiceClient: {
    new (address: string, credentials: ChannelCredentials, options?: Partial<ChannelOptions>): VideoServiceClient;
    service: typeof VideoServiceService;
};
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 {};
