import { TRKORR, DEVCLASS, TDEVC, TADIR, PGMID, TROBJTYPE, SOBJ_NAME, ClientError } from "../client";
import { AbstractRegistry } from "../registry";
import { TrmPackage } from "../trmPackage";
import { ISystemConnector } from "./ISystemConnector";
import { InstallPackage } from "./InstallPackage";
import { SapMessage } from "../client/SapMessage";
import * as components from "../client/components";
import * as struct from "../client/struct";
import { SystemConnectorSupportedBulk } from "./SystemConnectorSupportedBulk";
import { ObjectDependencies, PackageDependencies } from "../dependencies";
export declare namespace SystemConnector {
    var systemConnector: ISystemConnector;
    function getNewConnection(): ISystemConnector;
    function getSupportedBulk(): SystemConnectorSupportedBulk;
    function isStateless(): boolean;
    function getConnectionData(): any;
    function getDest(): string;
    function getLogonLanguage(c: boolean): string;
    function getLogonUser(): string;
    function connect(silent: boolean): Promise<void>;
    function closeConnection(): Promise<void>;
    function checkConnection(): Promise<boolean>;
    function getTransportStatus(trkorr: TRKORR): Promise<string>;
    function getInstalledPackages(refresh?: boolean, includeLocals?: boolean, filter?: {
        name: string;
        registry: string;
    }): Promise<TrmPackage[]>;
    function getDevclass(devclass: DEVCLASS): Promise<TDEVC>;
    function getTransportTargets(): Promise<components.TARSYSTEM[]>;
    function getSubpackages(devclass: DEVCLASS): Promise<TDEVC[]>;
    function getDevclassObjects(devclass: DEVCLASS, includeSubpackages: boolean): Promise<TADIR[]>;
    function getObject(pgmid: PGMID, object: TROBJTYPE, objName: SOBJ_NAME): Promise<TADIR>;
    function getIgnoredTrkorr(): Promise<TRKORR[]>;
    function getSourceTrkorr(): Promise<TRKORR[]>;
    function readTmsQueue(target: components.TMSSYSNAM): Promise<struct.STMSIQREQ[]>;
    function createPackage(scompkdtln: struct.SCOMPKDTLN): Promise<void>;
    function getInstallPackages(packageName: string, registry: AbstractRegistry): Promise<InstallPackage[]>;
    function setPackageSuperpackage(devclass: DEVCLASS, superpackage: DEVCLASS): Promise<void>;
    function clearPackageSuperpackage(devclass: DEVCLASS): Promise<void>;
    function setPackageTransportLayer(devclass: DEVCLASS, devlayer: components.DEVLAYER): Promise<void>;
    function getMessage(data: SapMessage): Promise<string>;
    function checkSapEntryExists(table: string, sapEntry: any): Promise<boolean>;
    function ping(): Promise<string>;
    function getPackageIntegrity(oPackage: TrmPackage): Promise<string>;
    function readTable(tableName: components.TABNAME, fields: struct.RFC_DB_FLD[], options?: string): Promise<any[]>;
    function getFileSystem(): Promise<struct.FILESYS>;
    function getDirTrans(): Promise<components.PFEVALUE>;
    function getBinaryFile(filePath: string): Promise<Buffer>;
    function writeBinaryFile(filePath: string, binary: Buffer): Promise<void>;
    function createTocTransport(text: components.AS4TEXT, target: components.TR_TARGET): Promise<components.TRKORR>;
    function createWbTransport(text: components.AS4TEXT, target?: components.TR_TARGET): Promise<components.TRKORR>;
    function createCustTransport(text: components.AS4TEXT, target?: components.TR_TARGET): Promise<components.TRKORR>;
    function setTransportDoc(trkorr: components.TRKORR, doc: struct.TLINE[]): Promise<void>;
    function removeComments(trkorr: components.TRKORR, object: TROBJTYPE): Promise<void>;
    function addToTransportRequest(trkorr: components.TRKORR, content: struct.E071[], lock: boolean): Promise<void>;
    function repositoryEnvironment(objectType: components.SEU_OBJ, objectName: components.SOBJ_NAME): Promise<struct.SENVI[]>;
    function deleteTrkorr(trkorr: components.TRKORR): Promise<void>;
    function releaseTrkorr(trkorr: components.TRKORR, lock: boolean, timeout?: number): Promise<void>;
    function trCopy(from: components.TRKORR, to: components.TRKORR, doc: boolean): Promise<void>;
    function getDefaultTransportLayer(): Promise<components.DEVLAYER>;
    function tadirInterface(tadir: struct.TADIR): Promise<void>;
    function dequeueTransport(trkorr: components.TRKORR): Promise<void>;
    function forwardTransport(trkorr: components.TRKORR, target: components.TMSSYSNAM, source: components.TMSSYSNAM, importAgain: boolean): Promise<void>;
    function importTransport(trkorr: components.TRKORR, system: components.TMSSYSNAM): Promise<void>;
    function setInstallDevc(installDevc: struct.ZTRM_INSTALLDEVC[]): Promise<void>;
    function getObjectsList(): Promise<struct.KO100[]>;
    function renameTransportRequest(trkorr: components.TRKORR, as4text: components.AS4TEXT): Promise<void>;
    function addTranslationToTr(trkorr: components.TRKORR, devclassFilter: struct.LXE_TT_PACKG_LINE[]): Promise<void>;
    function getFunctionModule(func: components.RS38L_FNAME): Promise<struct.TFDIR>;
    function getTransportObjectsBulk(trkorr: components.TRKORR): Promise<struct.TADIR[]>;
    function getExistingObjects(objects: struct.TADIR[]): Promise<struct.TADIR[]>;
    function getExistingObjectsBulk(objects: struct.TADIR[]): Promise<struct.TADIR[]>;
    function getNamespace(namespace: components.NAMESPACE): Promise<{
        trnspacet: struct.TRNSPACET;
        trnspacett: struct.TRNSPACETT[];
    }>;
    function addNamespace(namespace: components.NAMESPACE, replicense: components.TRNLICENSE, texts: struct.TRNSPACETT[]): Promise<void>;
    function getR3transVersion(): Promise<string>;
    function getR3transUnicode(): Promise<boolean>;
    function isTransportLayerExist(devlayer: components.DEVLAYER): Promise<boolean>;
    function getTrmServerPackage(): Promise<TrmPackage>;
    function getTrmRestPackage(): Promise<TrmPackage>;
    function deleteTmsTransport(trkorr: components.TRKORR, system: components.TMSSYSNAM): Promise<void>;
    function refreshTransportTmsTxt(trkorr: components.TRKORR): Promise<void>;
    function getDotAbapgit(devclass: components.DEVCLASS): Promise<Buffer>;
    function getAbapgitSource(devclass: components.DEVCLASS): Promise<{
        zip: Buffer;
        objects: struct.ZTY_SER_OBJ[];
    }>;
    function executePostActivity(data: Buffer, pre?: boolean): Promise<{
        messages: struct.SYMSG[];
        execute?: boolean;
    }>;
    function readClassDescriptions(clsname: components.SEOCLSNAME): Promise<struct.SEOCLASSTX[]>;
    function isServerApisAllowed(): Promise<true | ClientError>;
    function changeTrOwner(trkorr: components.TRKORR, owner: components.TR_AS4USER): Promise<void>;
    function getPackageDependencies(devclass: components.DEVCLASS, includeSubPackages: boolean): Promise<PackageDependencies>;
    function getObjectDependencies(object: TROBJTYPE, objName: SOBJ_NAME): Promise<ObjectDependencies>;
    function getTableKeys(tabname: components.TABNAME): Promise<struct.DD03L[]>;
    function getRootDevclass(devclass: DEVCLASS): Promise<DEVCLASS>;
    function createLogPolling(event: components.ZTRM_POLLING_EVENT): Promise<components.ZTRM_POLLING_ID>;
    function deleteLogPolling(logID: components.ZTRM_POLLING_ID): Promise<void>;
    function readLogPolling(logID: components.ZTRM_POLLING_ID): Promise<components.ZTRM_POLLING_LAST_MSG>;
    function getTransportImportStatus(trkorr: components.TRKORR, system: components.TMSSYSNAM): Promise<struct.TPSTAT>;
    function getTimezone(): Promise<string>;
    function getObjectsLocks(objects: struct.TADIR_KEY[]): Promise<struct.ZTRM_OBJ_LOCK[]>;
    function updateTrmPackageData(data: any): Promise<void>;
}
