import { BpmsEngine } from '../BpmsEngine'; import { OrganizationPositionRepository } from './OrganizationPositionRepository'; import { OrganizationEmployeePositionRepository } from './OrganizationEmployeePositionRepository'; import { OrganizationEmployeeRepository } from './OrganizationEmployeeRepository'; import { IdExpression, FilterExpression } from '../data/Repository'; import { BpmsIdentityUser } from '../identity/IdentityService'; import { BpmsService } from '../BpmsService'; export interface BpmsOrganizationEmployee { id: string; username?: string; name: string; } export interface BpmsOrganizationPosition { id: string; name: string; parentId?: string; } export interface BpmsOrganizationEmployeePosition { id: string; positionId: string; employeeId: string; managerId?: string; } export interface OrganizationServiceOptions { organizationPositionRepository?: OrganizationPositionRepository; organizationEmployeePositionRepository?: OrganizationEmployeePositionRepository; organizationEmployeeRepository?: OrganizationEmployeeRepository; name: string; } export declare class OrganizationService implements BpmsService { private bpmsEngine?; private organizationPositionRepository; private organizationEmployeePositionRepository; private organizationEmployeeRepository; private id; private options; constructor(bpmsEngine?: BpmsEngine | undefined, options?: OrganizationServiceOptions); static createService(options?: OrganizationServiceOptions): OrganizationService; static createService(bpmsEngine?: BpmsEngine, options?: OrganizationServiceOptions): OrganizationService; get Id(): string; get Name(): string; get BpmsEngine(): BpmsEngine | undefined; getOrganizationPosition(positionId: IdExpression): Promise; getOrganizationEmployeePosition(employeeId: IdExpression, positionId: IdExpression): Promise; getOrganizationEmployee(employeeId: IdExpression): Promise; getOrganizationEmployeeUser(employeeId: IdExpression): Promise; getOrganizationEmployees(filter?: FilterExpression): Promise; getOrganizationPositions(filter?: FilterExpression): Promise; getOrganizationEmployeePositions(filter?: FilterExpression): Promise; }