import PluginEnvironment from '../PluginEnvironment';
export interface VideoServiceOptions {
    width?: number;
    height?: number;
    ignoreStyle?: boolean;
    [key: string]: any;
}
export type UrlFilterDelegate = (url: string, serviceName: string, videoID: string, options: any) => string;
declare abstract class VideoServiceBase {
    name: string;
    options: VideoServiceOptions;
    env: PluginEnvironment;
    constructor(name: string, options: VideoServiceOptions, env: PluginEnvironment);
    getDefaultOptions(): VideoServiceOptions;
    /**
     * Overridden by child classes to extract the ID from a URL/reference.
     */
    extractVideoID(reference: string): string | null;
    /**
     * Overridden by child classes to provide the specific embed URL.
     */
    abstract getVideoUrl(videoID: string): string;
    getFilteredVideoUrl(videoID: string): string;
    getEmbedCode(videoID: string): string;
}
export default VideoServiceBase;
//# sourceMappingURL=VideoServiceBase.d.ts.map