import { TccODataSettings } from '../../tccodatasettings.token';
import { Observable } from 'rxjs';
import { HttpClient } from '@angular/common/http';
import { TccAnyscan } from '../../models/anyscan.model';
import { TccET_APPLI } from '../../models/applications.model';
import { TccBarcode, TccBarcodeList } from '../../models/shared.model';
export interface scanResponse {
    id: string;
    img: Blob;
    link: string;
    contenttype: string;
    index: number;
    aspectratio: number;
    recognized: boolean;
    barcodes: TccBarcodeList;
}
export declare class TccAnyscanService {
    private _http;
    private odataSettings;
    private readonly ANYSCAN_PING;
    private readonly ANYSCAN_DEVICES;
    private readonly ANYSCAN_CAPABILITIES;
    private readonly ANYSCAN_SHOWCONFIGDIALOG;
    private readonly ANYSCAN_GETSCANNERCONFIGURATION;
    private readonly ANYSCAN_SETSCANNERPROFILE;
    private readonly ANYSCAN_STARTSCAN;
    private readonly ANYSCAN_CANCELSCAN;
    private readonly ANYSCAN_GETIMAGE;
    private readonly ANYSCAN_GETTHUMBNAILIMAGE;
    private readonly ANYSCAN_AUTHENTICATE;
    private readonly ANYSCAN_GETBARCODES;
    private readonly ANYSCAN_SETBARCODECONFIG;
    private _apikey;
    private _host;
    private _resolvedHost;
    private _port;
    profileLoaded: boolean;
    private _endpoint;
    private _device;
    private _defaultTimeout;
    private _Headers;
    private _showIndicator;
    private barcodeActive;
    private get _url();
    private get Headers();
    set showIndicator(enabled: boolean);
    get showIndicator(): boolean;
    get ready(): boolean;
    get scanready(): boolean;
    private set apikey(value);
    get apikey(): string;
    get resolvedHost(): string;
    set host(url: string);
    get host(): string;
    get url(): string;
    set port(port: string);
    get port(): string;
    get endpoint(): string;
    set endpoint(value: string);
    set device(device: TccAnyscan.Device);
    get device(): TccAnyscan.Device;
    constructor(_http: HttpClient, odataSettings: TccODataSettings);
    CompleteUrl(hostandport: string): string;
    private _handleConnectionRefused;
    private handleConnectionRefused;
    Ping(getHostname: false, url?: string, stimeout?: number): Observable<boolean>;
    Ping(getHostname: true, url?: string, stimeout?: number): Observable<{
        Hostname: string;
        MachineId: string;
        Version: string;
    }>;
    Authenticate(): Observable<string>;
    TestApikey(key: string): Observable<boolean>;
    GetDevices(Technology?: TccAnyscan.Technology): Observable<Array<TccAnyscan.Device>>;
    GetDeviceCapabilities(Device?: TccAnyscan.Device): Observable<TccAnyscan.Capabilities>;
    ShowConfigDialog(Device?: TccAnyscan.Device): Observable<boolean>;
    GetScannerConfiguration(Device?: TccAnyscan.Device): Observable<{
        ConfigStream: string;
    }>;
    SetScannerProfile(Profile: TccAnyscan.ScannerProfileParameter, BarcodeConfig?: TccET_APPLI.TccCaptureApplicationBarcodeRecognition): Observable<{
        ConfigStream: string;
    }>;
    private _setScannerProfile;
    private _setBarcodeConfig;
    GetBarcodes(Technology: TccAnyscan.Technology, ImageId: string): Observable<Array<TccBarcode>>;
    StartScan(): Observable<boolean>;
    CancelScan(): Observable<boolean>;
    GetImage(Timeout?: number): Observable<{
        img: Blob;
        id: string;
        contenttype: string;
        aspectratio: number;
    }>;
    GetThumbnailImage(Id: string, Timeout?: number): Observable<Blob>;
    GetThumbnailImageLink(Id: string, Timeout?: number): string;
    GetAllImages(Timeout?: number): Observable<scanResponse>;
}
