import { TaskInboundEvent, TaskReceivedEventName } from '@signalwire/core';
import { SWClient } from '../SWClient';
import { BaseNamespace } from '../BaseNamespace';
export declare const PATH = "/api/relay/rest/tasks";
interface TaskListenOptions {
    topics: string[];
    onTaskReceived?: (payload: TaskInboundEvent['message']) => unknown;
}
type TaskListenersKeys = keyof Omit<TaskListenOptions, 'topics'>;
type TaskEvents = Record<TaskReceivedEventName, (task: TaskInboundEvent['message']) => void>;
export declare class Task extends BaseNamespace<TaskListenOptions, TaskEvents> {
    protected _eventMap: Record<TaskListenersKeys, TaskReceivedEventName>;
    constructor(options: SWClient);
    send({ topic, message, }: {
        topic: string;
        message: Record<string, unknown>;
    }): Promise<void>;
}
export type { TaskReceivedEventName } from '@signalwire/core';
export type { TaskClientApiEvents, RealTimeTaskApiEventsHandlerMapping, } from '../types';
//# sourceMappingURL=Task.d.ts.map