import { Task, Comment, Config, CreateTaskParams, CreateTaskResult, FetchTasksOptions } from '../types';
import { TaskProvider } from './base';
export declare class JiraProvider implements TaskProvider {
    private baseUrl;
    private authHeader;
    private project;
    private label;
    private assigneeTag;
    private inReviewStatus;
    constructor(config: Config);
    private request;
    private buildAuthHeaders;
    /** Extract plain text from an Atlassian Document Format node. */
    private adfToText;
    private adfToTextNode;
    private normalizeAdfText;
    private downloadIssueAttachments;
    private fetchIssueAttachments;
    private collectAttachmentReferences;
    private resolveCommentAttachments;
    private findAttachmentForReference;
    private toAbsoluteUrl;
    private extractAttachmentId;
    private asRecord;
    fetchTasks(options?: FetchTasksOptions): Promise<Task[]>;
    fetchTasksByStatus(statuses: string[], options?: FetchTasksOptions): Promise<Task[]>;
    postComment(taskId: string, text: string): Promise<void>;
    getComments(taskId: string): Promise<Comment[]>;
    fetchAvailableStatuses(): Promise<string[]>;
    updateStatus(taskId: string, status: string): Promise<void>;
    fetchBoardTasks(options?: FetchTasksOptions): Promise<Task[]>;
    removeTag(taskId: string, tag: string): Promise<void>;
    addTag(taskId: string, tag: string): Promise<void>;
    createTask(params: CreateTaskParams): Promise<CreateTaskResult>;
}
//# sourceMappingURL=jira.d.ts.map