import { Request, Response } from 'express';
import { Reshuffle, BaseHttpConnector, EventConfiguration } from 'reshuffle-base-connector';
import Asana from 'asana';
declare type AsanaEvent = '*' | 'deleted' | 'undeleted' | 'added' | 'removed' | 'changed';
export interface AsanaConnectorConfigOptions {
    accessToken: string;
    baseURL?: string;
    webhookPath?: string;
    workspaceId?: string;
}
export interface AsanaConnectorEventOptions {
    gid: string;
    asanaEvent?: AsanaEvent;
}
export default class AsanaConnector extends BaseHttpConnector<AsanaConnectorConfigOptions, AsanaConnectorEventOptions> {
    private readonly _sdk;
    constructor(app: Reshuffle, options: AsanaConnectorConfigOptions, id?: string);
    onStart(): Promise<void>;
    on(options: AsanaConnectorEventOptions, handler: any, eventId: string): EventConfiguration;
    sdk(): Asana.Client;
    handle(req: Request, res: Response): Promise<boolean>;
}
export { AsanaConnector };
