import { CommonRequestOptions } from '@xsai/shared'; interface ChatProvider { chat: (model: (string & {}) | T) => CommonRequestOptions; } interface ChatProviderWithExtraOptions { chat: (model: (string & {}) | T, extraOptions?: T2) => CommonRequestOptions & Partial; } type CreateProviderOptions = Omit; interface EmbedProvider { embed: (model: (string & {}) | T) => CommonRequestOptions; } interface EmbedProviderWithExtraOptions { embed: (model: (string & {}) | T, extraOptions?: T2) => CommonRequestOptions & Partial; } interface ImageProvider { image: (model: (string & {}) | T) => CommonRequestOptions; } interface ModelProvider { model: () => CreateProviderOptions; } interface ModelProviderWithExtraOptions { model: (options?: T) => CreateProviderOptions & Partial; } interface SpeechProvider { speech: (model: (string & {}) | T) => CommonRequestOptions; } interface SpeechProviderWithExtraOptions { speech: (model: (string & {}) | T, extraOptions?: T2) => CommonRequestOptions & Partial; } interface TranscriptionProvider { transcription: (model: (string & {}) | T) => CommonRequestOptions; } interface TranscriptionProviderWithExtraOptions { transcription: (model: (string & {}) | T, extraOptions?: T2) => CommonRequestOptions & Partial; } export type { ChatProvider as C, EmbedProvider as E, ImageProvider as I, ModelProvider as M, SpeechProvider as S, TranscriptionProvider as T, ChatProviderWithExtraOptions as a, CreateProviderOptions as b, EmbedProviderWithExtraOptions as c, ModelProviderWithExtraOptions as d, SpeechProviderWithExtraOptions as e, TranscriptionProviderWithExtraOptions as f };