import { PollingCallbacks } from '../utils/StatusPoller'; import { SemanticPenConfig, ArticleGenerationRequest, ArticleGenerationResponse, Article, PollingConfig, BulkOperationResult } from '../types'; export declare class SemanticPenClient { private readonly articleService; private readonly statusPoller; private readonly config; constructor(config: SemanticPenConfig); static create(apiKey: string, options?: Partial): SemanticPenClient; static createWithConfig(config: SemanticPenConfig): SemanticPenClient; testConnection(): Promise; getConfig(): Readonly; generateArticle(keyword: string, options?: Partial): Promise<{ articleId: string; projectId: string; message: string; }>; generateArticles(keywords: string[], options?: Partial): Promise>; generateWithRequest(request: ArticleGenerationRequest): Promise; getArticle(articleId: string): Promise
; getArticles(articleIds: string[]): Promise>; isArticleComplete(articleId: string): Promise; getArticleStatus(articleId: string): Promise<{ id: string; status: string; isComplete: boolean; hasError: boolean; errorMessage?: string; }>; waitForArticle(articleId: string, options?: { polling?: Partial; callbacks?: PollingCallbacks; }): Promise
; waitForArticles(articleIds: string[], options?: { polling?: Partial; onProgress?: (completed: number, total: number, articles: Article[]) => void; }): Promise<{ completed: Article[]; failed: Array<{ articleId: string; error: string; }>; totalTime: number; }>; getMultipleStatus(articleIds: string[]): Promise<{ completed: Article[]; pending: Article[]; failed: Article[]; notFound: string[]; }>; generateAndWait(keyword: string, options?: { generation?: Partial; polling?: Partial; callbacks?: PollingCallbacks; }): Promise
; generateBulkAndWait(keywords: string[], options?: { generation?: Partial; polling?: Partial; onProgress?: (completed: number, total: number, articles: Article[]) => void; }): Promise<{ successful: Article[]; failed: Array<{ keyword: string; error: string; }>; totalTime: number; }>; static validateKeyword(keyword: string): boolean; static validateKeywords(keywords: string[]): { valid: boolean; errors: string[]; }; createRequestBuilder(): ArticleRequestBuilder; } export declare class ArticleRequestBuilder { private request; private client; constructor(client: SemanticPenClient); keyword(keyword: string | string[]): this; gptVersion(version: string): this; integration(id: string): this; preset(id: string): this; projectName(name: string): this; personalization(name: string): this; parameter(key: string, value: any): this; generate(): Promise; generateAndWait(pollingConfig?: Partial, callbacks?: PollingCallbacks): Promise
; getRequest(): Readonly>; } //# sourceMappingURL=SemanticPenClient.d.ts.map