export interface SemanticPenConfig {
    apiKey: string;
    baseUrl?: string;
    timeout?: number;
    debug?: boolean;
}
export interface AuthResult {
    userId: string;
    organizationId: string;
    success: boolean;
}
export interface ArticleGenerationRequest {
    targetKeyword: string | string[];
    gptVersion?: string;
    integrationId?: string;
    presetId?: string;
    projectName?: string;
    personalisationName?: string;
    [key: string]: any;
}
export interface ArticleGenerationResponse {
    articleId?: string;
    articleIds?: string[];
    projectId: string;
    message: string;
    processingInfo?: string;
    error?: string | null;
}
export declare enum ArticleStatusEnum {
    QUEUED = "queued",
    PROCESSING = "processing",
    FINISHED = "finished",
    FAILED = "failed"
}
export interface Article {
    id: string;
    organization_id: string;
    user_id: string;
    project_id: string;
    target_keyword: string;
    status: ArticleStatusEnum;
    article_html?: string;
    content?: string;
    html?: string;
    title?: string;
    metadata?: Record<string, any>;
    created_at: string;
    updated_at: string;
    completed_at?: string;
    error_message?: string;
}
export interface ArticleStatusInfo {
    id: string;
    status: string;
    isComplete: boolean;
    hasError: boolean;
    errorMessage?: string;
    progress?: number;
    estimatedCompletionTime?: string;
}
export interface ApiError {
    error: string;
    code?: string;
    details?: Record<string, any>;
}
export declare enum ErrorType {
    AUTHENTICATION_ERROR = "AUTHENTICATION_ERROR",
    VALIDATION_ERROR = "VALIDATION_ERROR",
    RATE_LIMIT_ERROR = "RATE_LIMIT_ERROR",
    NETWORK_ERROR = "NETWORK_ERROR",
    API_ERROR = "API_ERROR",
    TIMEOUT_ERROR = "TIMEOUT_ERROR",
    UNKNOWN_ERROR = "UNKNOWN_ERROR"
}
export interface RequestOptions {
    method: 'GET' | 'POST' | 'PUT' | 'DELETE';
    headers?: Record<string, string>;
    body?: any;
    timeout?: number;
}
export interface PollingConfig {
    interval: number;
    maxAttempts: number;
    backoffMultiplier?: number;
}
export interface BulkOperationResult<T> {
    successful: T[];
    failed: Array<{
        item: any;
        error: string;
    }>;
    total: number;
    successCount: number;
    failureCount: number;
}
//# sourceMappingURL=index.d.ts.map