import type { TemplateResult } from 'lit';
type PromiseFactory<TResult> = (opts: {
    signal: AbortSignal;
}) => Promise<TResult>;
type TaskRenderer<TResult> = {
    initial?: () => unknown;
    pending?: () => unknown;
    complete?: (value: TResult) => unknown;
    error?: (error: unknown) => unknown;
} | ((value: TResult) => unknown);
export declare const task: <TResult>(promiseFn: PromiseFactory<TResult>, renderer: TaskRenderer<TResult>) => TemplateResult;
export {};
//# sourceMappingURL=TaskDirective.d.ts.map