///
import * as url from 'url';
import { Videobox } from '../core';
export interface AdapterOptions {
thumbnailWidth?: number;
thumbnailHeight?: number;
removeBorder?: boolean;
autoplay?: boolean;
color?: string;
baseUrl?: string;
}
export declare abstract class Adapter {
protected videobox: Videobox;
protected id: string;
protected title: string;
protected start: number;
protected end: number;
protected adapterType: string;
options: T;
protected visibleId: string;
static load(_videobox: Videobox, _type: string, _id: string): Adapter | false;
static parse(_videobox: Videobox, _videoUrl: url.UrlWithParsedQuery, _title: string, _start: number, _end: number): Adapter | false;
constructor(videobox: Videobox, id: string, title?: string, start?: number, end?: number, adapterType?: string);
abstract getThumbnailBaseUrl(): Promise;
abstract getPlayerUrl(): Promise;
getThumbnailUrl(): Promise;
serialize(): Promise<{
id: string;
rawId: string;
title: string;
start: number;
end: number;
img: string;
src: string;
}>;
}