import type { ToolSet } from '../../../_types/@internal_ai-sdk-v5/dist/index.js';
import type { ChunkType } from '../../../stream/types.js';
import type { OutputWriter } from '../../../workflows/types.js';
import type { LoopRun } from '../../types.js';
interface AgenticLoopParams<Tools extends ToolSet = ToolSet, OUTPUT = undefined> extends LoopRun<Tools, OUTPUT> {
    controller: ReadableStreamDefaultController<ChunkType<OUTPUT>>;
    outputWriter: OutputWriter;
}
export declare function createAgenticLoopWorkflow<Tools extends ToolSet = ToolSet, OUTPUT = undefined>(params: AgenticLoopParams<Tools, OUTPUT>): import("../../../workflows").Workflow<import("../../../workflows").DefaultEngineType, import("../../../workflows").Step<string, unknown, unknown, unknown, unknown, unknown, any, unknown>[], "agentic-loop", unknown, {
    messageId: string;
    messages: {
        all: any[];
        user: any[];
        nonUser: any[];
    };
    output: {
        usage: {
            inputTokens?: number | undefined;
            outputTokens?: number | undefined;
            totalTokens?: number | undefined;
            reasoningTokens?: number | undefined;
            cachedInputTokens?: number | undefined;
            cacheCreationInputTokens?: number | undefined;
        };
        steps: any[];
        text?: string | undefined;
        reasoning?: any[] | undefined;
        reasoningText?: string | undefined;
        files?: any[] | undefined;
        toolCalls?: any[] | undefined;
        toolResults?: any[] | undefined;
        sources?: any[] | undefined;
        staticToolCalls?: any[] | undefined;
        dynamicToolCalls?: any[] | undefined;
        staticToolResults?: any[] | undefined;
        dynamicToolResults?: any[] | undefined;
    };
    metadata: {
        id?: string | undefined;
        model?: string | undefined;
        modelId?: string | undefined;
        modelMetadata?: {
            modelId: string;
            modelVersion: string;
            modelProvider: string;
        } | undefined;
        timestamp?: Date | undefined;
        providerMetadata?: Record<string, any> | undefined;
        headers?: Record<string, string> | undefined;
        request?: Record<string, any> | undefined;
    };
    stepResult: {
        reason: string;
        warnings: any[];
        isContinued: boolean;
        logprobs?: any;
        totalUsage?: {
            inputTokens?: number | undefined;
            outputTokens?: number | undefined;
            totalTokens?: number | undefined;
            reasoningTokens?: number | undefined;
            cachedInputTokens?: number | undefined;
            cacheCreationInputTokens?: number | undefined;
        } | undefined;
        headers?: Record<string, string> | undefined;
        messageId?: string | undefined;
        request?: Record<string, any> | undefined;
    };
    processorRetryCount?: number | undefined;
    fallbackModelIndex?: number | undefined;
    processorRetryFeedback?: string | undefined;
    isTaskCompleteCheckFailed?: boolean | undefined;
    backgroundTaskPending?: boolean | undefined;
}, {
    messageId: string;
    messages: {
        all: any[];
        user: any[];
        nonUser: any[];
    };
    output: {
        usage: {
            inputTokens?: number | undefined;
            outputTokens?: number | undefined;
            totalTokens?: number | undefined;
            reasoningTokens?: number | undefined;
            cachedInputTokens?: number | undefined;
            cacheCreationInputTokens?: number | undefined;
        };
        steps: any[];
        text?: string | undefined;
        reasoning?: any[] | undefined;
        reasoningText?: string | undefined;
        files?: any[] | undefined;
        toolCalls?: any[] | undefined;
        toolResults?: any[] | undefined;
        sources?: any[] | undefined;
        staticToolCalls?: any[] | undefined;
        dynamicToolCalls?: any[] | undefined;
        staticToolResults?: any[] | undefined;
        dynamicToolResults?: any[] | undefined;
    };
    metadata: {
        id?: string | undefined;
        model?: string | undefined;
        modelId?: string | undefined;
        modelMetadata?: {
            modelId: string;
            modelVersion: string;
            modelProvider: string;
        } | undefined;
        timestamp?: Date | undefined;
        providerMetadata?: Record<string, any> | undefined;
        headers?: Record<string, string> | undefined;
        request?: Record<string, any> | undefined;
    };
    stepResult: {
        reason: string;
        warnings: any[];
        isContinued: boolean;
        logprobs?: any;
        totalUsage?: {
            inputTokens?: number | undefined;
            outputTokens?: number | undefined;
            totalTokens?: number | undefined;
            reasoningTokens?: number | undefined;
            cachedInputTokens?: number | undefined;
            cacheCreationInputTokens?: number | undefined;
        } | undefined;
        headers?: Record<string, string> | undefined;
        messageId?: string | undefined;
        request?: Record<string, any> | undefined;
    };
    processorRetryCount?: number | undefined;
    fallbackModelIndex?: number | undefined;
    processorRetryFeedback?: string | undefined;
    isTaskCompleteCheckFailed?: boolean | undefined;
    backgroundTaskPending?: boolean | undefined;
}, {
    messageId: string;
    messages: {
        all: any[];
        user: any[];
        nonUser: any[];
    };
    output: {
        usage: {
            inputTokens?: number | undefined;
            outputTokens?: number | undefined;
            totalTokens?: number | undefined;
            reasoningTokens?: number | undefined;
            cachedInputTokens?: number | undefined;
            cacheCreationInputTokens?: number | undefined;
        };
        steps: any[];
        text?: string | undefined;
        reasoning?: any[] | undefined;
        reasoningText?: string | undefined;
        files?: any[] | undefined;
        toolCalls?: any[] | undefined;
        toolResults?: any[] | undefined;
        sources?: any[] | undefined;
        staticToolCalls?: any[] | undefined;
        dynamicToolCalls?: any[] | undefined;
        staticToolResults?: any[] | undefined;
        dynamicToolResults?: any[] | undefined;
    };
    metadata: {
        id?: string | undefined;
        model?: string | undefined;
        modelId?: string | undefined;
        modelMetadata?: {
            modelId: string;
            modelVersion: string;
            modelProvider: string;
        } | undefined;
        timestamp?: Date | undefined;
        providerMetadata?: Record<string, any> | undefined;
        headers?: Record<string, string> | undefined;
        request?: Record<string, any> | undefined;
    };
    stepResult: {
        reason: string;
        warnings: any[];
        isContinued: boolean;
        logprobs?: any;
        totalUsage?: {
            inputTokens?: number | undefined;
            outputTokens?: number | undefined;
            totalTokens?: number | undefined;
            reasoningTokens?: number | undefined;
            cachedInputTokens?: number | undefined;
            cacheCreationInputTokens?: number | undefined;
        } | undefined;
        headers?: Record<string, string> | undefined;
        messageId?: string | undefined;
        request?: Record<string, any> | undefined;
    };
    processorRetryCount?: number | undefined;
    fallbackModelIndex?: number | undefined;
    processorRetryFeedback?: string | undefined;
    isTaskCompleteCheckFailed?: boolean | undefined;
    backgroundTaskPending?: boolean | undefined;
}, unknown>;
export {};
//# sourceMappingURL=index.d.ts.map