import { Task, Comment, Config, CreateTaskParams, CreateTaskResult, FetchTasksOptions } from '../types';
import { TaskProvider } from './base';
export declare class TrelloProvider implements TaskProvider {
    private readonly apiKey;
    private readonly token;
    private readonly boardId;
    private readonly labelName;
    private readonly openSemantic;
    private readonly pendingSemantic;
    private readonly inReviewSemantic;
    private readonly openListName;
    private readonly pendingListName;
    private readonly inProgressListName;
    private readonly inReviewListName;
    constructor(config: Config);
    private authUrl;
    private request;
    private fetchLists;
    private findListId;
    private listIdToSemantic;
    private cardHasLabel;
    private fetchMyMemberId;
    private fetchCardAttachments;
    /** Trello attachment URLs may require key/token when the board is private. */
    private attachDownloadUrl;
    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>;
    removeTag(taskId: string, tag: string): Promise<void>;
    fetchBoardTasks(options?: FetchTasksOptions): Promise<Task[]>;
    addTag(taskId: string, tag: string): Promise<void>;
    createTask(params: CreateTaskParams): Promise<CreateTaskResult>;
}
//# sourceMappingURL=trello.d.ts.map