// Chilkat Objective-C header.
// This is a generated header file for Chilkat version 11.4.0

// Generic/internal class name =  Ai
// Wrapped Chilkat C++ class name =  CkAi

@class CkoTask;
@class CkoJsonObject;
@class CkoStringTable;
@class CkoBinData;
@class CkoStringBuilder;
@class CkoSocket;


@class CkoBaseProgress;

@interface CkoAi : NSObject {

	@private
		void *m_eventCallback;
		void *m_obj;

}

- (id)init;
- (void)dealloc;
- (void)dispose;
- (NSString *)stringWithUtf8: (const char *)s;
- (void *)CppImplObj;
- (void)setCppImplObj: (void *)pObj;

- (void)clearCppImplObj;

// property setter: EventCallbackObject
- (void)setEventCallbackObject: (CkoBaseProgress *)eventObj;

@property (nonatomic, copy) NSString *ApiKey;
@property (nonatomic, copy) NSString *ApiKeyHeader;
@property (nonatomic, copy) NSString *ApiSpec;
@property (nonatomic, copy) NSString *BaseUrl;
@property (nonatomic, copy) NSString *DebugLogFilePath;
@property (nonatomic) BOOL FullTranscript;
@property (nonatomic, readonly) BOOL HasFunctionCalls;
@property (nonatomic, copy) NSNumber *HeartbeatMs;
@property (nonatomic) BOOL HostedConvo;
@property (nonatomic, copy) NSNumber *IdleTimeoutMs;
@property (nonatomic, copy) NSNumber *JsToolTimeout;
@property (nonatomic, readonly, copy) NSString *LastErrorHtml;
@property (nonatomic, readonly, copy) NSString *LastErrorText;
@property (nonatomic, readonly, copy) NSString *LastErrorXml;
@property (nonatomic) BOOL LastMethodSuccess;
@property (nonatomic, copy) NSString *Model;
@property (nonatomic, copy) NSString *Provider;
@property (nonatomic, readonly, copy) NSNumber *ResponseStatusCode;
@property (nonatomic, copy) NSString *SelectedConvo;
@property (nonatomic) BOOL Streaming;
@property (nonatomic, copy) NSString *UncommonOptions;
@property (nonatomic) BOOL VerboseLogging;
@property (nonatomic, readonly, copy) NSString *Version;
// method: Ask
- (BOOL)Ask: (NSString *)outputType;
// method: AskAsync
- (CkoTask *)AskAsync: (NSString *)outputType;
// method: DeleteConvo
- (BOOL)DeleteConvo: (NSString *)name;
// method: ExportConvo
- (BOOL)ExportConvo: (NSString *)name 
	json: (CkoJsonObject *)json;
// method: GetFunctionCalls
- (BOOL)GetFunctionCalls: (CkoJsonObject *)json;
// method: GetLastJsonData
- (void)GetLastJsonData: (CkoJsonObject *)json;
// method: GetModels
- (BOOL)GetModels: (CkoStringTable *)st;
// method: GetModelsAsync
- (CkoTask *)GetModelsAsync: (CkoStringTable *)st;
// method: GetOutputBd
- (BOOL)GetOutputBd: (CkoBinData *)bd;
// method: GetOutputText
- (NSString *)GetOutputText;
// method: GetOutputTextSb
- (BOOL)GetOutputTextSb: (CkoStringBuilder *)sb;
// method: ImportConvo
- (BOOL)ImportConvo: (NSString *)name 
	json: (CkoJsonObject *)json;
// method: InputAddFileData
- (BOOL)InputAddFileData: (NSString *)filename 
	bd: (CkoBinData *)bd 
	summary: (NSString *)summary;
// method: InputAddFileId
- (BOOL)InputAddFileId: (NSString *)file_id 
	mime_type: (NSString *)mime_type;
// method: InputAddFileUrl
- (BOOL)InputAddFileUrl: (NSString *)url 
	summary: (NSString *)summary;
// method: InputAddFnResult
- (BOOL)InputAddFnResult: (NSString *)call_id 
	fnResult: (NSString *)fnResult;
// method: InputAddImageData
- (BOOL)InputAddImageData: (CkoBinData *)bd 
	summary: (NSString *)summary;
// method: InputAddImageFileId
- (BOOL)InputAddImageFileId: (NSString *)file_id 
	mime_type: (NSString *)mime_type;
// method: InputAddImageUrl
- (BOOL)InputAddImageUrl: (NSString *)url 
	summary: (NSString *)summary;
// method: InputAddText
- (BOOL)InputAddText: (NSString *)text;
// method: InputAddTextSb
- (BOOL)InputAddTextSb: (CkoStringBuilder *)sb;
// method: InputClear
- (void)InputClear;
// method: ListConvos
- (BOOL)ListConvos: (CkoStringTable *)st;
// method: NewConvo
- (BOOL)NewConvo: (NSString *)name 
	sysMsg: (NSString *)sysMsg 
	devMsg: (NSString *)devMsg;
// method: NextAiEvent
- (BOOL)NextAiEvent: (NSNumber *)maxWaitMs 
	sbName: (CkoStringBuilder *)sbName 
	sbDelta: (CkoStringBuilder *)sbDelta;
// method: PollAi
- (NSNumber *)PollAi: (BOOL)abort;
// method: RegisterJsTools
- (BOOL)RegisterJsTools: (CkoStringBuilder *)sb 
	evalOnly: (BOOL)evalOnly 
	allowAllKeyword: (BOOL)allowAllKeyword;
// method: RegisterManualTools
- (BOOL)RegisterManualTools: (CkoJsonObject *)json;
// method: SetAskParams
- (BOOL)SetAskParams: (CkoJsonObject *)json;
// method: SetConnectionSettings
- (BOOL)SetConnectionSettings: (CkoSocket *)sock;
// method: SetProviderParams
- (BOOL)SetProviderParams: (CkoJsonObject *)json;
// method: SleepMs
- (void)SleepMs: (NSNumber *)millisec;
// method: StreamingJsToolCall
- (BOOL)StreamingJsToolCall: (CkoStringBuilder *)sb;
// method: StreamingJsToolCallAsync
- (CkoTask *)StreamingJsToolCallAsync: (CkoStringBuilder *)sb;
// method: UploadFile
- (NSString *)UploadFile: (NSString *)path 
	mimeType: (NSString *)mimeType;
// method: UploadFileAsync
- (CkoTask *)UploadFileAsync: (NSString *)path 
	mimeType: (NSString *)mimeType;
// method: UploadFileBd
- (NSString *)UploadFileBd: (CkoBinData *)bd 
	filename: (NSString *)filename 
	mimeType: (NSString *)mimeType;
// method: UploadFileBdAsync
- (CkoTask *)UploadFileBdAsync: (CkoBinData *)bd 
	filename: (NSString *)filename 
	mimeType: (NSString *)mimeType;
// method: UploadFileSb
- (NSString *)UploadFileSb: (CkoStringBuilder *)sb 
	filename: (NSString *)filename 
	mimeType: (NSString *)mimeType;
// method: UploadFileSbAsync
- (CkoTask *)UploadFileSbAsync: (CkoStringBuilder *)sb 
	filename: (NSString *)filename 
	mimeType: (NSString *)mimeType;

@end
