import { IRenderer, ISpecification, IRenderable } from '../../api';
import { INode } from "../../support/node";
import Result from "@zxing/library/esm5/core/Result";
/**
 * Implementation of the 'codeReader' markup element.
 * Creates an HTML canvas element that allows the scanning of
 * media elements using a media stream e.g. QR codes @see {@link Scanner}
 * The class lto-code-reader is added to allow CSS
 * manipulations.
 *
 * @see {@link IRenderable}
 */
export declare class CodeReader implements IRenderable {
    private readonly spec;
    private mediaStream?;
    private maxCanvasSize;
    constructor(message: ISpecification);
    /**
     * @inheritDoc
     */
    render(renderer: IRenderer, isNested: boolean): HTMLElement;
    private initCamera;
    static disableResetButton(wrapper: INode): void;
    activateResetButton(wrapper: INode): void;
    publishResult(wrapper: INode, result: Promise<Result> | null): void;
    private activateScanner;
    private stopCamera;
    static getDeviceId(node: INode): Promise<string>;
}
