import { PubSubEngine } from 'type-graphql';
import { AppContext } from '../types.js';
import { ResolverBase } from '../generic/ResolverBase.js';
export declare class AIAgentRunResult {
    success: boolean;
    errorMessage?: string;
    executionTimeMs?: number;
    result: string;
}
export declare class AgentExecutionProgress {
    currentStep: string;
    percentage?: number;
    message: string;
    agentName?: string;
    agentType?: string;
    stepCount?: number;
    hierarchicalStep?: string;
}
export declare class AgentStreamingContent {
    content: string;
    isPartial: boolean;
    stepName?: string;
    agentName?: string;
}
export declare class AgentExecutionStepSummary {
    stepId: string;
    stepName: string;
    agentName?: string;
    agentType?: string;
    startTime: Date;
    endTime?: Date;
    status: string;
    result?: string;
}
export declare class AgentPartialResult {
    currentStep: string;
    partialOutput?: string;
}
export declare class AgentExecutionStreamMessage {
    sessionId: string;
    agentRunId: string;
    type: 'progress' | 'streaming' | 'partial_result' | 'complete';
    progress?: AgentExecutionProgress;
    streaming?: AgentStreamingContent;
    partialResult?: AgentPartialResult;
    timestamp: Date;
    agentRun?: any;
}
export declare class RunAIAgentResolver extends ResolverBase {
    private sanitizeAgentResult;
    private parseJsonInput;
    private extractUserMessage;
    private validateAgent;
    private createProgressCallback;
    private PublishProgressUpdate;
    private PublishStreamingUpdate;
    private createStreamingCallback;
    private executeAIAgent;
    private publishFinalEvents;
    RunAIAgent(agentId: string, { userPayload, providers, dataSource }: AppContext, messagesJson: string, sessionId: string, pubSub: PubSubEngine, data?: string, payload?: string, templateData?: string, lastRunId?: string, autoPopulateLastRunPayload?: boolean, configurationId?: string, conversationDetailId?: string, createArtifacts?: boolean, createNotification?: boolean, sourceArtifactId?: string, sourceArtifactVersionId?: string): Promise<AIAgentRunResult>;
    RunAIAgentSystemUser(agentId: string, { userPayload, providers, dataSource }: AppContext, messagesJson: string, sessionId: string, pubSub: PubSubEngine, data?: string, payload?: string, templateData?: string, lastRunId?: string, autoPopulateLastRunPayload?: boolean, configurationId?: string, conversationDetailId?: string, createArtifacts?: boolean, createNotification?: boolean, sourceArtifactId?: string, sourceArtifactVersionId?: string): Promise<AIAgentRunResult>;
    private createCompletionNotification;
    RunAIAgentFromConversationDetail(conversationDetailId: string, agentId: string, { userPayload, providers, dataSource }: AppContext, sessionId: string, pubSub: PubSubEngine, maxHistoryMessages?: number, data?: string, payload?: string, lastRunId?: string, autoPopulateLastRunPayload?: boolean, configurationId?: string, createArtifacts?: boolean, createNotification?: boolean, sourceArtifactId?: string, sourceArtifactVersionId?: string): Promise<AIAgentRunResult>;
    private loadConversationHistoryWithAttachments;
    private mapDetailRoleToMessageRole;
}
//# sourceMappingURL=RunAIAgentResolver.d.ts.map