import { DatabaseService } from '../../config';
import { NotificationsService } from '../notifications/notifications.service';
import { assignBuddyDto, createOnboardingCaseDto, createOnboardingTaskDto, createOnboardingTemplateDto, createProvisioningItemDto, filterOnboardingCaseDto, signOnboardingDocumentDto, updateOnboardingCaseDto, updateOnboardingTaskDto, updateOnboardingTemplateDto, updateProvisioningItemDto } from './onboarding.dto';
export declare class OnboardingService {
    private readonly db;
    private readonly notificationsService;
    constructor(db: DatabaseService, notificationsService: NotificationsService);
    seedDefaultTemplates(ownerId: string, force?: boolean): Promise<void>;
    resetDefaultTemplates(ownerId: string): Promise<any>;
    createTemplate(data: createOnboardingTemplateDto, ownerId: string): Promise<any>;
    getTemplates(ownerId: string): Promise<any>;
    getDefaultTemplate(ownerId: string): Promise<any>;
    setDefaultTemplate(id: string, ownerId: string): Promise<any>;
    getTemplateById(id: string, ownerId: string): Promise<any>;
    updateTemplate(id: string, data: updateOnboardingTemplateDto, ownerId: string): Promise<any>;
    deleteTemplate(id: string, ownerId: string): Promise<{
        message: string;
    }>;
    createCase(data: createOnboardingCaseDto, ownerId: string): Promise<any>;
    getCasesByFilter(query: filterOnboardingCaseDto, ownerId: string): Promise<{
        data: any;
        pagination: {
            total: any;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    getCaseById(id: string, ownerId: string): Promise<any>;
    updateCase(id: string, data: updateOnboardingCaseDto, ownerId: string): Promise<any>;
    deleteCase(id: string, ownerId: string): Promise<{
        message: string;
    }>;
    addTask(caseId: string, data: createOnboardingTaskDto, ownerId: string): Promise<any>;
    updateTask(taskId: string, data: updateOnboardingTaskDto, ownerId: string, currentMemberId?: string): Promise<any>;
    signDocument(documentId: string, data: signOnboardingDocumentDto, memberId: string, ownerId: string): Promise<any>;
    addProvisioningItem(caseId: string, data: createProvisioningItemDto, ownerId: string): Promise<any>;
    updateProvisioningItem(itemId: string, data: updateProvisioningItemDto, ownerId: string): Promise<any>;
    assignBuddy(caseId: string, data: assignBuddyDto, assignedById: string, ownerId: string): Promise<any>;
    getMyWelcomePortal(memberId: string, ownerId: string): Promise<{
        onboarding_case: any;
        tasks: any;
        documents: any;
        provisioning: any;
        manager: any;
        buddy: any;
        team_members: any[];
        welcome_message: string;
    }>;
    getDashboardStats(ownerId: string): Promise<{
        active_cases: any;
        completed_cases: any;
        pending_documents: any;
        pending_provisioning: any;
    }>;
}
