import { JSONStorageAdapter } from '../storage/StorageAdapter.js';
import { CollaborationSession, Participant, Contribution, CollaborativeDecision, CollaborativeActionItem } from '../collaboration/strategicCollaboration.js';
export declare class CollaborationTools {
    private storage;
    private collaboration;
    constructor(storage: JSONStorageAdapter);
    createCollaborationSession(params: {
        title: string;
        description: string;
        type: CollaborationSession['type'];
        templateId?: string;
        scheduled?: string;
        participants: Omit<Participant, 'contributions' | 'lastActive'>[];
        moderator: string;
        sharedContext?: any;
    }): Promise<{
        success: boolean;
        data: {
            session: CollaborationSession;
            templates: import("../collaboration/strategicCollaboration.js").CollaborationTemplate[] | undefined;
        };
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        data?: undefined;
    }>;
    addSessionContribution(params: {
        sessionId: string;
        participantId: string;
        type: Contribution['type'];
        content: string;
        metadata?: any;
    }): Promise<{
        success: boolean;
        data: {
            contribution: Contribution;
            participantContributions: number;
        };
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        data?: undefined;
    }>;
    recordSessionDecision(params: {
        sessionId: string;
        decision: string;
        rationale: string;
        votingRecord?: CollaborativeDecision['votingRecord'];
        implementation: CollaborativeDecision['implementation'];
        risks?: string[];
        dependencies?: string[];
    }): Promise<{
        success: boolean;
        data: {
            decision: CollaborativeDecision;
            autoGeneratedActionItem: CollaborativeActionItem | undefined;
        };
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        data?: undefined;
    }>;
    createSessionActionItem(params: {
        sessionId: string;
        title: string;
        description: string;
        owner: string;
        assignedBy: string;
        dueDate: string;
        priority: CollaborativeActionItem['priority'];
        relatedDecisions?: string[];
        relatedGoals?: string[];
    }): Promise<{
        success: boolean;
        data: {
            actionItem: CollaborativeActionItem;
            sessionActionItems: CollaborativeActionItem[];
        };
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        data?: undefined;
    }>;
    updateSessionActionItem(params: {
        sessionId: string;
        actionItemId: string;
        participantId: string;
        update: string;
        newStatus?: CollaborativeActionItem['status'];
    }): Promise<{
        success: boolean;
        data: {
            actionItem: CollaborativeActionItem | undefined;
            allActionItems: CollaborativeActionItem[];
        };
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        data?: undefined;
    }>;
    completeCollaborationSession(params: {
        sessionId: string;
        keyDecisions: string[];
        nextSteps: string[];
        followUp?: {
            nextSession?: string;
            reviewDate?: string;
            checkpoints?: string[];
        };
    }): Promise<{
        success: boolean;
        data: {
            session: CollaborationSession;
            summary: import("../collaboration/strategicCollaboration.js").SessionSummary | null;
            metrics: {
                duration: number;
                totalContributions: number;
                decisionsReached: number;
                actionItemsCreated: number;
            };
        };
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        data?: undefined;
    }>;
    getCollaborationSession(params: {
        sessionId: string;
    }): Promise<{
        success: boolean;
        data: {
            session: CollaborationSession;
            summary: import("../collaboration/strategicCollaboration.js").SessionSummary | null;
            templates: import("../collaboration/strategicCollaboration.js").CollaborationTemplate[];
        };
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        data?: undefined;
    }>;
    listCollaborationSessions(params?: {
        type?: CollaborationSession['type'];
        status?: CollaborationSession['status'];
        participantId?: string;
    }): Promise<{
        success: boolean;
        data: {
            sessions: {
                id: string;
                title: string;
                type: "planning" | "review" | "brainstorming" | "decision-making";
                status: "completed" | "active" | "cancelled" | "scheduled";
                scheduled: string | undefined;
                participantCount: number;
                contributionCount: number;
                decisionCount: number;
                actionItemCount: number;
            }[];
            fullSessions: CollaborationSession[];
            summary: {
                total: number;
                byType: Record<string, number>;
                byStatus: Record<string, number>;
            };
        };
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        data?: undefined;
    }>;
    getCollaborationTemplates(): Promise<{
        success: boolean;
        data: {
            templates: import("../collaboration/strategicCollaboration.js").CollaborationTemplate[];
            summary: {
                total: number;
                byType: Record<string, number>;
            };
        };
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        data?: undefined;
    }>;
    generateSessionReport(params: {
        sessionId: string;
    }): Promise<{
        success: boolean;
        data: {
            session: {
                id: string;
                title: string;
                type: "planning" | "review" | "brainstorming" | "decision-making";
                status: "completed" | "active" | "cancelled" | "scheduled";
                duration: number;
                participants: Participant[];
            };
            participation: {
                total: number;
                attended: number;
                contributions: number;
                avgContributionsPerPerson: number;
            };
            outcomes: {
                decisions: number;
                actionItems: number;
                criticalInsights: number;
            };
            keyContributions: any[];
            decisionsTimeline: any[];
            nextSteps: any[];
            agenda: {
                title: string;
                status: "pending" | "in-progress" | "completed" | "deferred";
                notes: string | undefined;
            }[];
        };
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        data?: undefined;
    }>;
    private getParticipantContributions;
    private getLatestActionItem;
    private getSessionActionItems;
    private groupByType;
    private groupByStatus;
    private groupTemplatesByType;
}
//# sourceMappingURL=collaborationTools.d.ts.map