import { LanguageModelV2CallOptions, LanguageModelV2StreamPart, LanguageModelV2FinishReason } from '@ai-sdk/provider';

type ToolCall = {
    function: {
        arguments: string;
        name: string;
    };
    id: string;
    type: 'function';
};
declare class InferToolCallsFromStream {
    #private;
    constructor({ tools }: {
        tools?: LanguageModelV2CallOptions['tools'];
    });
    get toolCalls(): ToolCall[];
    get detectedToolCall(): boolean;
    parse({ controller, delta, }: {
        controller: TransformStreamDefaultController<LanguageModelV2StreamPart>;
        delta: string;
    }): boolean;
    finish({ controller, }: {
        controller: TransformStreamDefaultController<LanguageModelV2StreamPart>;
    }): LanguageModelV2FinishReason;
}

export { InferToolCallsFromStream };
