import type { Adapter, OutboxMessage } from '../../types.ts';
import { BaseAdapter } from './base.ts';
export declare abstract class GroupedAdapter extends BaseAdapter implements Adapter {
    abstract start(): Promise<void>;
    abstract stop(): Promise<void>;
    abstract onHandled(messages: readonly OutboxMessage[]): Promise<void>;
    send(messages: readonly OutboxMessage[]): Promise<({
        meta: {
            pgTrxOutbox: {
                time: number;
                libuv: {
                    max: number;
                    min: number;
                    mean: number;
                    stddev: number;
                };
                beforeMemory: NodeJS.MemoryUsage;
                afterMemory: NodeJS.MemoryUsage;
                uptime: number;
                cpuUsage: NodeJS.CpuUsage;
            };
        };
        status: "fulfilled";
        value: unknown;
    } | {
        meta: {
            pgTrxOutbox: {
                time: number;
                libuv: {
                    max: number;
                    min: number;
                    mean: number;
                    stddev: number;
                };
                beforeMemory: NodeJS.MemoryUsage;
                afterMemory: NodeJS.MemoryUsage;
                uptime: number;
                cpuUsage: NodeJS.CpuUsage;
            };
        };
        status: "rejected";
        reason: any;
    })[]>;
}
