import { Articles } from '@colijnit/articleapi/build/articles';
import { Sharedapi } from '@colijnit/sharedapi/build/sharedapi';
import { GetStockHistoryRequest } from '@colijnit/articleapi/build/model/get-stock-history-request';
import { ArticleStock as ArticleStockBo } from '@colijnit/articleapi/build/model/article-stock.bo';
import { ArticleStock } from '@colijnit/articleapi/build/model/article-stock';
import { StockHistoryBo } from '@colijnit/articleapi/build/model/stock-history.bo';
import { ArticleStockManagement } from '@colijnit/articleapi/build/model/article-stock-management';
import { ArticleDetailsBo } from '@colijnit/articleapi/build/model/article-details.bo';
import { StockStatus } from '@colijnit/articleapi/build/model/stock-status.bo';
import { StockManagementWarehouses } from '@colijnit/articleapi/build/model/stock-management-warehouses.bo';
import { StockLocation } from '@colijnit/articleapi/build/model/stock-location.bo';
import { ArticleTransaction } from '@colijnit/articleapi/build/model/article-transaction';
import { ArticleTransaction as ArticleTransactionBo } from '@colijnit/articleapi/build/model/article-transaction.bo';
import { OptionsService } from './options.service';
import { MainApi } from '@colijnit/mainapi';
import { Printer } from '@colijnit/mainapi/build/model/printer.bo';
import { DataServiceResponseData } from '@colijnit/ioneconnector/build/model/data-service-response-data';
import { SendMethod } from '@colijnit/mainapi/build/model/send-method.bo';
import { StockForecast } from "@colijnit/articleapi/build/model/stock-forecast.bo";
import { TagCategory } from "@colijnit/mainapi/build/enum/tab-category.enum";
import { TagTreeItem } from "@colijnit/mainapi/build/model/tag-tree-item.bo";
import { ArticleExtended } from "@colijnit/articleapi/build/model/article-extended.bo";
import { ArticleExtendedRequest } from "@colijnit/articleapi/build/model/article-extended-request";
import { ArticleFlat } from "@colijnit/articleapi/build/model/article-flat.bo";
import { ObjectConfiguration } from "@colijnit/ioneconnector/build/model/object-configuration";
import { RelationApi } from "@colijnit/relationapi";
import { RelationListObject } from "@colijnit/relationapi/build/model/relation-list-object.bo";
import { RelationRequest } from "@colijnit/relationapi/build/model/relation-request";
import { TaskCategory } from "@colijnit/mainapi/build/model/task-category.bo";
import { TableName } from "@colijnit/mainapi/build/enum/table-name.enum";
import { WorkflowProcess } from "@colijnit/mainapi/build/model/workflow-process";
import { DomainName } from "@colijnit/mainapi/build/enum/domain-name.enum";
import { CoDomainValue } from "@colijnit/mainapi/build/model/co-domain-value.bo";
import { RoleEmailaddress } from "@colijnit/mainapi/build/model/role-email-address";
import { Activity } from "@colijnit/mainapi/build/model/activity.bo";
import { ValidationResult } from "@colijnit/ioneconnector/build/model/validation-result";
import { WorkflowProcessInfoPerStatus } from "@colijnit/mainapi/build/model/workflow-process-info-per-status";
import { RelationSmallObject } from "@colijnit/mainapi/build/model/relation-small-object.bo";
import { SelectReportTemplatesRequest } from "@colijnit/mainapi/build/model/select-report-templates-request";
import { Report } from "@colijnit/mainapi/build/model/report.bo";
import { EmailJob } from "@colijnit/mainapi/build/model/email-job";
import { Work } from "@colijnit/mainapi/build/model/work.bo";
import { Remark } from "@colijnit/mainapi/build/model/remark.bo";
import { Task } from "@colijnit/mainapi/build/model/task.bo";
import { ActivityEmailHistory } from "@colijnit/mainapi/build/model/activity-email-history.bo";
import { ActivityWorkflow } from "@colijnit/mainapi/build/model/activity-workflow";
import { EmailActivityRequest } from "@colijnit/mainapi/build/model/email-activity-request";
import { Form } from '@colijnit/mainapi/build/model/form.bo';
import { FormResponse } from '@colijnit/mainapi/build/model/form-response.bo';
export declare class SharedConnectorService {
    private _optionsService;
    articleConnector: Articles;
    sharedConnector: Sharedapi;
    mainConnector: MainApi;
    relationConnector: RelationApi;
    private _boFactory;
    constructor(_optionsService: OptionsService);
    connect(): Promise<void>;
    getConfiguration(module: string, params: string[]): Promise<ObjectConfiguration[]>;
    getAllPrinters(): Promise<Printer[]>;
    getSendMethods(): Promise<SendMethod[]>;
    getScreenConfigTree(): Promise<any>;
    getScreenConfigSubRubric(parentRubricId: number, configId: number, fixedKey: string): Promise<any>;
    getTagsFullTree(category: TagCategory, includeTags: boolean): Promise<TagTreeItem[]>;
    getComponentActivitiesWithoutRelationFiltering(table: TableName, key: string): Promise<Activity[]>;
    getRelationSmallObject(relationId: number): Promise<RelationSmallObject>;
    getWorkflowStatusForActivity(table: TableName, key: string, component: string): Promise<ActivityWorkflow>;
    insertActivity(activity: Activity): Promise<boolean>;
    insertWork(activity: Activity): Promise<Work>;
    insertRemark(activity: Activity): Promise<Remark>;
    insertTask(activity: Activity): Promise<Task>;
    updateActivity(activity: Activity): Promise<boolean>;
    deleteActivity(activity: Activity): Promise<boolean>;
    lockTask(id: number): Promise<boolean>;
    fireTrigger(workFlowProcessId: number, sequence: number, triggerId: number): Promise<ValidationResult>;
    fireGenericTrigger(workFlowProcessId: number, genericTransitionId: number, relationId: number): Promise<ValidationResult>;
    getJoinedTags(table: string, key: string): Promise<TagTreeItem[]>;
    getDocumentContent(id: number, thumbnail?: boolean): Promise<string>;
    getStockHistory(request: GetStockHistoryRequest): Promise<StockHistoryBo[]>;
    getStockInformation(data: ArticleStock): Promise<ArticleStockBo[]>;
    getArtStockStatus(goodId: number, branchNo?: string, requestedAmount?: number, warehouseId?: number): Promise<number>;
    getArticleFlat(sku: string): Promise<ArticleFlat>;
    searchArticles(request: ArticleExtendedRequest): Promise<ArticleExtended[]>;
    getStockManagementWarehouses(): Promise<StockManagementWarehouses[]>;
    getStockManagementLocations(warehouseNo: number): Promise<StockLocation[]>;
    getArticleDetails(data: ArticleStockManagement): Promise<ArticleDetailsBo[]>;
    updateArticleDetails(data: ArticleDetailsBo): Promise<boolean>;
    lockArticleDetails(data: ArticleStockManagement): Promise<boolean>;
    getStockStatus(): Promise<StockStatus[]>;
    getArticleTransaction(data: ArticleTransaction): Promise<ArticleTransactionBo[]>;
    getStockPrognose(goodId: number, warehouseNumber: number): Promise<StockForecast[]>;
    getRelationListObjects(request: RelationRequest): Promise<RelationListObject[]>;
    getTaskCategories(): Promise<TaskCategory[]>;
    getActiveProcessesByTableAndKey(table: TableName, key: string): Promise<WorkflowProcess[]>;
    getDomainCollection(languageCode: string, domain: DomainName): Promise<CoDomainValue[]>;
    getRoleEmailAddressesByWorkflowCategoryAndKey(workflowCategory: string, key: string): Promise<RoleEmailaddress[]>;
    getEmailSenderByWorkflowCategoryAndKey(worlflowCategory: string, key: string): Promise<string>;
    getReportTemplates(reportTemplatesRequest: SelectReportTemplatesRequest): Promise<Report[]>;
    emailReport(emailJob: EmailJob): Promise<boolean>;
    emailActivity(request: EmailActivityRequest): Promise<boolean>;
    insertEmailHistoryForRemark(history: ActivityEmailHistory): Promise<boolean>;
    insertEmailHistoryForWork(history: ActivityEmailHistory): Promise<boolean>;
    insertEmailHistoryForTask(history: ActivityEmailHistory): Promise<boolean>;
    getWorkflowProcessInfoPerStatus(worlflowCategory: string): Promise<WorkflowProcessInfoPerStatus[]>;
    getHistoricActivities(table: TableName, key: string): Promise<Activity[]>;
    getComponentActivities(table: TableName, key: string): Promise<Activity[]>;
    getFormById(formId: number): Promise<Form>;
    getAllFormResponsesForTableAndKey(table: TableName, key: string): Promise<FormResponse[]>;
    getFormResponse(formResponseId: number): Promise<FormResponse>;
    insertFormResponse(formResponse: FormResponse): Promise<FormResponse>;
    updateFormResponse(formResponse: FormResponse): Promise<FormResponse>;
    commit(): Promise<DataServiceResponseData>;
}
