import type { TurboModule } from 'react-native'; import type { EventEmitter, UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes'; export interface AppleMessage { role: 'assistant' | 'system' | 'tool' | 'user'; content: string; } export interface AppleGenerationOptions { temperature?: number; maxTokens?: number; topP?: number; topK?: number; schema?: UnsafeObject; tools?: UnsafeObject; } export type StreamUpdateEvent = { streamId: string; content: string; }; export type StreamCompleteEvent = { streamId: string; }; export type StreamErrorEvent = { streamId: string; error: string; }; export interface Spec extends TurboModule { isAvailable(): boolean; generateText(messages: AppleMessage[], options: AppleGenerationOptions): Promise<({ type: 'text'; text: string; } | { type: 'tool-call'; toolName: string; input: string; } | { type: 'tool-result'; toolName: string; output: string; })[]>; generateStream(messages: AppleMessage[], options: AppleGenerationOptions): string; cancelStream(streamId: string): void; onStreamUpdate: EventEmitter; onStreamComplete: EventEmitter; onStreamError: EventEmitter; } declare const _default: Spec; export default _default; //# sourceMappingURL=NativeAppleLLM.d.ts.map