import { Task, Comment, Config, CreateTaskParams, CreateTaskResult } from '../types';
import { TaskProvider } from './base';
export declare class NotionProvider implements TaskProvider {
    private apiKey;
    private databaseId;
    private statusPropertyName;
    private pendingStatus;
    private inReviewStatus;
    private titlePropertyName;
    private statusPropertyType;
    constructor(config: Config);
    private ensureSchema;
    private request;
    private buildQueryFilter;
    fetchTasks(_options?: import('../types').FetchTasksOptions): Promise<Task[]>;
    fetchTasksByStatus(statuses: string[], _options?: import('../types').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>;
    addTag(taskId: string, tag: string): Promise<void>;
    createTask(params: CreateTaskParams): Promise<CreateTaskResult>;
}
//# sourceMappingURL=notion.d.ts.map