/**
 * 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 60 countries!
 *
 * The version of the OpenAPI document: 4.1.0
 *
 *
 * 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 { Addon } from './Addon';
import type { Locale } from './Locale';
import type { Price } from './Price';
import type { ServiceInfo } from './ServiceInfo';
import type { StreamingOptionType } from './StreamingOptionType';
import type { Subtitle } from './Subtitle';
/**
 * A streaming option.
 * @export
 * @interface StreamingOption
 */
export interface StreamingOption {
    /**
     *
     * @type {ServiceInfo}
     * @memberof StreamingOption
     */
    service: ServiceInfo;
    /**
     *
     * @type {StreamingOptionType}
     * @memberof StreamingOption
     */
    type: StreamingOptionType;
    /**
     * Addon that the streaming option is available through.
     * Omitted if the streaming option is not available through an addon.
     *
     * @type {Addon}
     * @memberof StreamingOption
     */
    addon?: Addon;
    /**
     * Deep link to the streaming option's page in the web app of the streaming service.
     * Unlike videoLink, this field is 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 supported video quality of the streaming option.
     * @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;
    /**
     * Whether the streaming option expires within a month.
     * @type {boolean}
     * @memberof StreamingOption
     */
    expiresSoon: boolean;
    /**
     * [Unix Time Stamp](https://www.unixtimestamp.com/) of the date that the streaming option is expiring.
     * In other words, last day to watch.
     *
     * @type {number}
     * @memberof StreamingOption
     */
    expiresOn?: number;
    /**
     * [Unix Time Stamp](https://www.unixtimestamp.com/) of the date that this streaming option was detected.
     *
     * @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;
