import { DEVCLASS, PGMID, SOBJ_NAME, TRKORR, TROBJTYPE } from "../client/components";
import { TADIR, TDEVC, TMSCSYS } from "../client/struct";
import { Transport } from "../transport";
import { TrmPackage } from "../trmPackage";
import { InstallPackage } from "./InstallPackage";
import * as components from "../client/components";
import * as struct from "../client/struct";
import { ISystemConnectorBase } from "./ISystemConnectorBase";
import { Registry } from "../registry";
export declare const TRM_SERVER_PACKAGE_NAME: string;
export declare const TRM_REST_PACKAGE_NAME: string;
export declare const SRC_TRKORR_TABL = "ZTRM_SRC_TRKORR";
export declare const SKIP_TRKORR_TABL = "ZTRM_SKIP_TRKORR";
export declare abstract class SystemConnectorBase implements ISystemConnectorBase {
    private _installedPackages;
    private _installedPackagesI;
    private _r3transInfoLog;
    protected abstract readTable(tableName: components.TABNAME, fields: struct.RFC_DB_FLD[], options?: string): Promise<any[]>;
    protected abstract getSysname(): string;
    protected abstract getLangu(c: boolean): string;
    protected abstract getTrmServerVersion(): Promise<string>;
    protected abstract getTrmRestVersion(): Promise<string>;
    protected abstract listDevclassObjects(devclass: components.DEVCLASS): Promise<struct.TADIR[]>;
    protected abstract tdevcInterface(devclass: components.DEVCLASS, parentcl?: components.DEVCLASS, rmParentCl?: boolean, devlayer?: components.DEVLAYER): Promise<void>;
    protected abstract getR3transInfo(): Promise<string>;
    constructor();
    getTransportStatus(trkorr: TRKORR): Promise<string>;
    getPackageWorkbenchTransport(oPackage: TrmPackage): Promise<Transport>;
    getSourceTrkorr(): Promise<TRKORR[]>;
    getObject(pgmid: PGMID, object: TROBJTYPE, objName: SOBJ_NAME): Promise<TADIR>;
    getIgnoredTrkorr(): Promise<TRKORR[]>;
    getTrmServerPackage(): Promise<TrmPackage>;
    getTrmRestPackage(): Promise<TrmPackage>;
    getInstalledPackages(includeSoruces?: boolean, refresh?: boolean): Promise<TrmPackage[]>;
    getDevclass(devclass: DEVCLASS): Promise<TDEVC>;
    getTransportTargets(): Promise<TMSCSYS[]>;
    getSubpackages(devclass: DEVCLASS): Promise<TDEVC[]>;
    getDevclassObjects(devclass: DEVCLASS, includeSubpackages?: boolean): Promise<TADIR[]>;
    getInstallPackages(packageName: string, registry: Registry): Promise<InstallPackage[]>;
    setPackageSuperpackage(devclass: DEVCLASS, superpackage: DEVCLASS): Promise<void>;
    clearPackageSuperpackage(devclass: DEVCLASS): Promise<void>;
    setPackageTransportLayer(devclass: DEVCLASS, devlayer: components.DEVLAYER): Promise<void>;
    checkSapEntryExists(table: string, sapEntry: any): Promise<boolean>;
    getPackageIntegrity(oPackage: TrmPackage): Promise<string>;
    getFunctionModule(func: string): Promise<struct.TFDIR>;
    getExistingObjects(objects: TADIR[]): Promise<TADIR[]>;
    getNamespace(namespace: components.NAMESPACE): Promise<{
        trnspacet: struct.TRNSPACET;
        trnspacett: struct.TRNSPACETT[];
    }>;
    getR3transVersion(): Promise<string>;
    getR3transUnicode(): Promise<boolean>;
    isTransportLayerExist(devlayer: components.DEVLAYER): Promise<boolean>;
}
