import type { AsanaProject, AsanaTask, AsanaTaskUpsertInput, AsanaUser, AsanaWorkspace } from './types.js';
export declare class AsanaClient {
    private accessToken;
    private readonly baseUrl;
    constructor(accessToken: string);
    private request;
    verify(): Promise<AsanaUser>;
    listWorkspaces(): Promise<AsanaWorkspace[]>;
    getWorkspace(workspaceGid: string): Promise<AsanaWorkspace | null>;
    listProjects(workspaceGid: string): Promise<AsanaProject[]>;
    getProject(projectGid: string): Promise<AsanaProject | null>;
    private static readonly RICH_TASK_FIELDS;
    getTask(taskGid: string): Promise<AsanaTask | null>;
    listTasks(projectGid: string, options?: {
        limit?: number;
        completedSince?: string;
    }): Promise<AsanaTask[]>;
    searchTasks(workspaceGid: string, query: string, options?: {
        limit?: number;
    }): Promise<AsanaTask[]>;
    createTask(input: AsanaTaskUpsertInput): Promise<AsanaTask>;
    updateTask(taskGid: string, input: AsanaTaskUpsertInput): Promise<AsanaTask>;
}
