import { RelationApi } from '@colijnit/relationapi';
import { CustomerFullObject } from '@colijnit/relationapi/build/model/customer-full-object.bo';
import { SupplierFullObject } from '@colijnit/relationapi/build/model/supplier-full-object.bo';
import { ErrorService } from './error.service';
import { RelationRequest } from '@colijnit/relationapi/build/model/relation-request';
import { RelationListObject } from '@colijnit/relationapi/build/model/relation-list-object.bo';
import { BranchLov } from '@colijnit/relationapi/build/model/branch-lov.bo';
import { ValidationResult } from '@colijnit/ioneconnector/build/model/validation-result';
import { TransactionEventService } from './transaction-event.service';
import { Address } from '@colijnit/relationapi/build/model/address.bo';
import { TransactionDialogService } from './transaction-dialog.service';
import { RelationSmallObject } from "@colijnit/mainapi/build/model/relation-small-object.bo";
import { SupplierLightObject } from "@colijnit/relationapi/build/model/supplier-light-object.bo";
import { ContactPerson } from "@colijnit/relationapi/build/model/contact-person.bo";
import { BranchFullObject } from "@colijnit/relationapi/build/model/branch-full-object.bo";
export declare class TransactionRelationConnectorService {
    private _errorService;
    private _transactionEventService;
    private _dialogService;
    connector: RelationApi;
    private _boFactory;
    constructor(_errorService: ErrorService, _transactionEventService: TransactionEventService, _dialogService: TransactionDialogService);
    connect(settings: any): void;
    getCustomerFullObject(relationNo: number): Promise<CustomerFullObject>;
    getSupplierFullObject(relationNo: number): Promise<SupplierFullObject>;
    getBranchFullObject(relationNo: string): Promise<BranchFullObject>;
    getSupplierLightById(supplierId: number): Promise<SupplierLightObject>;
    getContactPerson(relationNo: number): Promise<ContactPerson>;
    getFirstCustomerForContact(relationNo: number): Promise<CustomerFullObject>;
    getRelationListObjects(relationRequest: RelationRequest): Promise<RelationListObject[]>;
    getDirectSellSuppliers(): Promise<SupplierLightObject[]>;
    getRelationNumber(relationId: number): Promise<string>;
    getRelationSmallObject(relationId: number): Promise<RelationSmallObject>;
    getBranches(branchNr?: string): Promise<BranchLov[]>;
    commit(): Promise<boolean>;
    lockCustomerFullObject(relationNr: number): Promise<ValidationResult>;
    lockSupplierFullObject(relationNr: number): Promise<ValidationResult>;
    lockEmployeeFullObject(relationNr: number): Promise<ValidationResult>;
    lockBranchFullObject(relationNr: number): Promise<ValidationResult>;
    lockCompanyFullObject(relationNr: number): Promise<ValidationResult>;
    lockContactPerson(relationNr: number): Promise<ValidationResult>;
    insertAddress(address: Address): Promise<Address>;
    updateAddress(address: Address): Promise<Address>;
    insertCustomer(relation: CustomerFullObject): Promise<CustomerFullObject>;
    updateCustomer(relation: CustomerFullObject): Promise<CustomerFullObject>;
    insertSupplier(relation: SupplierFullObject): Promise<SupplierFullObject>;
    updateSupplier(relation: SupplierFullObject): Promise<SupplierFullObject>;
    private _handleExceptionFromResponse;
}
