import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
import { MediaType } from "./media_types";
export declare const protobufPackage = "snapchat.content";
export interface VideoDescription {
    mediaQualityType: VideoDescription_MediaQualityType;
    videoPlaybackType: VideoDescription_VideoPlaybackType;
}
export declare enum VideoDescription_MediaQualityType {
    MEDIA_QUALITY_TYPE_UNKNOWN = 0,
    MEDIA_QUALITY_TYPE_LEVEL_1 = 100,
    MEDIA_QUALITY_TYPE_LEVEL_2 = 200,
    MEDIA_QUALITY_TYPE_LEVEL_3 = 300,
    MEDIA_QUALITY_TYPE_LEVEL_4 = 400,
    MEDIA_QUALITY_TYPE_LEVEL_5 = 500,
    MEDIA_QUALITY_TYPE_LEVEL_6 = 600,
    MEDIA_QUALITY_TYPE_LEVEL_7 = 700,
    MEDIA_QUALITY_TYPE_LEVEL_MAX = 5000,
    MEDIA_QUALITY_TYPE_LEVEL_4_5 = 450,
    MEDIA_QUALITY_TYPE_LEVEL_2_1 = 210,
    MEDIA_QUALITY_TYPE_LEVEL_2_2 = 220,
    MEDIA_QUALITY_TYPE_LEVEL_2_5 = 250,
    MEDIA_QUALITY_TYPE_LEVEL_3_2 = 320,
    MEDIA_QUALITY_TYPE_LEVEL_3_5 = 350,
    MEDIA_QUALITY_TYPE_LEVEL_2_7 = 270,
    MEDIA_QUALITY_TYPE_LEVEL_6_5 = 650,
    UNRECOGNIZED = -1
}
export declare enum VideoDescription_VideoPlaybackType {
    UNKNOWN_VIDEO_PLAYBACK_TYPE = 0,
    FASTSTART_DISABLED = 1,
    FASTSTART_ENABLED = 2,
    HTTP_STREAMING_DASH = 3,
    HTTP_STREAMING_HLS = 4,
    UNRECOGNIZED = -1
}
export interface MediaReference {
    mediaListId: string;
    claimBehavior: MediaReference_ClaimBehavior;
    url: string;
    contentObject: Uint8Array;
    localContentKey: string;
    localCacheKey: string;
    videoDescription: VideoDescription | undefined;
    mediaType: MediaType;
}
export declare enum MediaReference_ClaimBehavior {
    CAN_EXTEND_MEDIA_CLAIM = 0,
    DO_NOT_CLAIM = 1,
    UNRECOGNIZED = -1
}
export declare const VideoDescription: MessageFns<VideoDescription>;
export declare const MediaReference: MessageFns<MediaReference>;
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.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]>;
} & {
    [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
};
export interface MessageFns<T> {
    encode(message: T, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): T;
    create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
    fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
}
export {};
//# sourceMappingURL=media_reference.d.ts.map