/**
 * Streaming Availability API
 * Streaming Availability API allows getting streaming availability information of movies and series; and querying the list of available shows on streaming services such as Netflix, Disney+, Apple TV, Max and Hulu across 59 countries!
 *
 * The version of the OpenAPI document: 3.3.1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { Locale } from './Locale';
import type { Price } from './Price';
import type { StreamingType } from './StreamingType';
import type { Subtitle } from './Subtitle';
/**
 * A streaming option.
 * @export
 * @interface StreamingOption
 */
export interface StreamingOption {
    /**
     * Id of the streaming service.
     * @type {string}
     * @memberof StreamingOption
     */
    service: string;
    /**
     *
     * @type {StreamingType}
     * @memberof StreamingOption
     */
    streamingType: StreamingType;
    /**
     * Addon id, if the "streamingType" is "addon". Otherwise omitted.
     * @type {string}
     * @memberof StreamingOption
     */
    addon?: string;
    /**
     * Deep link to the streaming option's page in the streaming service. Guaranteed to be populated.
     * @type {string}
     * @memberof StreamingOption
     */
    link: string;
    /**
     * Deep link to the video associated with the streaming option. Omitted if there's no direct link to the video. Might have the same value as "link".
     * @type {string}
     * @memberof StreamingOption
     */
    videoLink?: string;
    /**
     * Maximum video quality of the streaming option. Omitted if the quality is unknown.
     * @type {string}
     * @memberof StreamingOption
     */
    quality?: StreamingOptionQualityEnum;
    /**
     * Array of the available audios.
     * @type {Array<Locale>}
     * @memberof StreamingOption
     */
    audios: Array<Locale>;
    /**
     * Array of the available subtitles.
     * @type {Array<Subtitle>}
     * @memberof StreamingOption
     */
    subtitles: Array<Subtitle>;
    /**
     *
     * @type {Price}
     * @memberof StreamingOption
     */
    price?: Price;
    /**
     * [Unix Time Stamp](https://www.unixtimestamp.com/) of the date that this streaming option is expiring. In other words, last day to watch. A value of 1 means the streaming option is expiring soon, but there's no specific date info is found. Omitted if there's no known expiry date.
     * @type {number}
     * @memberof StreamingOption
     */
    leaving?: number;
    /**
     * [Unix Time Stamp](https://www.unixtimestamp.com/) of the date that this streaming option was found on the service.
     * @type {number}
     * @memberof StreamingOption
     */
    availableSince: number;
}
/**
 * @export
 */
export declare const StreamingOptionQualityEnum: {
    readonly Sd: "sd";
    readonly Hd: "hd";
    readonly Qhd: "qhd";
    readonly Uhd: "uhd";
};
export type StreamingOptionQualityEnum = typeof StreamingOptionQualityEnum[keyof typeof StreamingOptionQualityEnum];
/**
 * Check if a given object implements the StreamingOption interface.
 */
export declare function instanceOfStreamingOption(value: object): boolean;
export declare function StreamingOptionFromJSON(json: any): StreamingOption;
export declare function StreamingOptionFromJSONTyped(json: any, ignoreDiscriminator: boolean): StreamingOption;
export declare function StreamingOptionToJSON(value?: StreamingOption | null): any;
