import React from 'react';
import { type MediaClient, type FileState, type Identifier } from '@atlaskit/media-client';
import { type WithShowControlMethodProp } from '@atlaskit/media-ui';
import { Outcome } from '../domain';
import { MediaViewerError } from '../errors';
import { type BaseState, BaseViewer } from './base-viewer';
import { type MediaTraceContext } from '@atlaskit/media-common';
export type Props = Readonly<{
    identifier: Identifier;
    item: FileState;
    mediaClient: MediaClient;
    collectionName?: string;
    previewCount: number;
    onCanPlay: () => void;
    onError: (error: MediaViewerError) => void;
    traceContext: MediaTraceContext;
} & WithShowControlMethodProp>;
export type State = BaseState<string> & {
    isHDActive: boolean;
    coverUrl?: string;
};
export declare class VideoViewer extends BaseViewer<string, Props, State> {
    protected get initialState(): {
        content: Outcome<string, MediaViewerError>;
        isHDActive: boolean;
    };
    private onHDChange;
    private onFirstPlay;
    private onPlay;
    private onTimeChanged;
    private onError;
    protected renderSuccessful(content: string): React.JSX.Element;
    protected init(isHDActive?: boolean): Promise<void>;
    protected release(): void;
}
