import { OnApplicationShutdown } from "@nestjs/common";
import { Driver, Result, Transaction } from "neo4j-driver";
import { Neo4jConfig } from "./interfaces/neo4j-config.interface";
import { ExportExcelDto, ExportExcelDtoForSystem, ExportExcelDtoForType } from "./dtos/export-import.dtos";
import { MainHeaderInterface, UserInformationInterface } from "./interfaces/header.interface";
export declare class Neo4jExcelService implements OnApplicationShutdown {
    private readonly driver;
    private readonly config;
    constructor(config: Neo4jConfig, driver: Driver);
    getDriver(): Driver;
    getConfig(): Neo4jConfig;
    int(value: number): import("neo4j-driver").Integer;
    beginTransaction(database?: string): Transaction;
    getReadSession(database?: string): import("neo4j-driver").Session;
    getWriteSession(database?: string): import("neo4j-driver").Session;
    read(cypher: string, params?: Record<string, any>, databaseOrTransaction?: string | Transaction): Result;
    write(cypher: string, params?: Record<string, any>, databaseOrTransaction?: string | Transaction): Result;
    onApplicationShutdown(): Promise<void>;
    findChildrensByLabelsAndFilters(root_labels: string[], root_filters: object, children_labels: string[], children_filters: object, relation_name: string, relation_filters?: object, relation_depth?: number | "", databaseOrTransaction?: string | Transaction): Promise<import("neo4j-driver").Record<import("neo4j-driver").RecordShape, PropertyKey, import("neo4j-driver").RecordShape<PropertyKey, number>>[]>;
    getTypesExcel(res: any, body: ExportExcelDtoForType, header: UserInformationInterface): Promise<any>;
    getTypesByRealmAndByLanguage(realm: string, typeKey: string, language: string, userName: string): Promise<any[]>;
    getComponentsExcel(res: any, body: ExportExcelDtoForType, header: UserInformationInterface): Promise<any>;
    getComponentsOfTypeWithTypekey(realm: string, typeKey: string, username: string): Promise<any[]>;
    getSparesWithExcel(res: any, body: ExportExcelDtoForType, header: UserInformationInterface): Promise<any>;
    getSparesOfTypeWithTypekey(realm: string, typeKey: string, username: string, language: string): Promise<any[]>;
    getResourcesWithExcel(res: any, body: ExportExcelDtoForType, header: any): Promise<any>;
    getResourcesOfTypeWithTypeKey(realm: string, typeKey: string, username: string, language: string): Promise<any[]>;
    getSystemsExcel(res: any, body: ExportExcelDtoForSystem, header: UserInformationInterface): Promise<any>;
    getSystemsByKey(realm: string, systemKey: string, username: string): Promise<any[]>;
    getSpacesByBuilding(realm: string, username: string, buildingKey: string, language: string): Promise<any[]>;
    getJointSpacesByBuilding(realm: string, username: string, buildingKey: string, language: string): Promise<any[]>;
    getZonesByBuilding(realm: string, username: string, buildingKey: string, language: string): Promise<any[]>;
    getSpacesAnExcelFile(res: any, body: ExportExcelDto, header: UserInformationInterface): Promise<any>;
    getZonesAnExcelFile(res: any, body: ExportExcelDto, header: UserInformationInterface): Promise<any>;
    getJointSpacesAnExcelFile(res: any, body: ExportExcelDto, header: UserInformationInterface): Promise<any>;
    getContactByRealmAndByLanguage(res: any, header: UserInformationInterface): Promise<any>;
    addBuildingWithCobie(file: Express.Multer.File, header: MainHeaderInterface): Promise<void>;
    addBlocksToBuilding(file: Express.Multer.File, header: MainHeaderInterface, buildingKey: string): Promise<void>;
    addFloorsToBuilding(file: Express.Multer.File, header: MainHeaderInterface, buildingKey: string): Promise<void>;
    addFloorsToBlockOrBuilding(file: Express.Multer.File, header: MainHeaderInterface, buildingKey: string): Promise<void>;
    addSpacesToBlockOrBuilding(file: Express.Multer.File, header: MainHeaderInterface, buildingKey: string): Promise<void>;
    addZonesToBuilding(file: Express.Multer.File, header: MainHeaderInterface, buildingKey: string): Promise<void>;
    addContacts(file: Express.Multer.File, header: MainHeaderInterface): Promise<void>;
    createCypherForClassification(realm: string, classificationLabel: string, categoryCode: string, nodeName: string, classificationParentPlaceholder: string, classificationChildrenPlaceholder: string, relationName: string): Promise<{
        createdCypher: string;
        createdRelationCypher: string;
    }>;
    getZoneFromDb(buildingKey: string, data: string[]): Promise<string>;
    getBlockFromDb(buildingKey: string, data: string[], transaction: string | Transaction): Promise<string>;
    getSystemRelationFromDb(realm: string, data: string[], emailReference: any, urlContact: string): Promise<string>;
    componentAlreadyExist(realm: string, data: string[]): Promise<import("neo4j-driver").Record<import("neo4j-driver").RecordShape, PropertyKey, import("neo4j-driver").RecordShape<PropertyKey, number>>[]>;
    createComponent(realm: string, data: string[], warrantyGuarantorPartsReferenceId: string, warrantyGuarantorLaborReferenceKeyId: string, warrantyDurationLabor: string, warrantyDurationParts: string, spaceAndCreatedByArray: string[], wgpAndWglNames: string[], urlContact: string, urlStructure: string, trId: string): Promise<any>;
    createSystem(realm: string, data: string[], creatingCypher: string, createdCypher: string, emailData: string, trId: string): Promise<void>;
    getSystemFromDb(realm: string, data: string[], trId: string): Promise<string>;
    getSubSystemFromDb(realm: string, data: string[], trId: string): Promise<string>;
    getPropsOfContact(email: string, headers: MainHeaderInterface): Promise<{
        key: any;
        id: any;
    }>;
    getPropsOfSpace(locationCode: string, buildingKey: string, headers: MainHeaderInterface): Promise<{
        id: any;
        key: any;
        name: any;
    }>;
    keyGenerate(): any;
    getValueFromRichText: (datas: any[]) => Promise<string[]>;
}
