type BatchSig = 'name' | 'target' | 'file' | 'dbOnly';
interface BatchCommandEntry {
    fn: (...args: unknown[]) => unknown;
    sig: BatchSig;
}
export declare const BATCH_COMMANDS: Record<string, BatchCommandEntry>;
interface BatchResultOk {
    target: string;
    ok: true;
    data: unknown;
}
interface BatchResultErr {
    target: string;
    ok: false;
    error: string;
}
type BatchResultItem = BatchResultOk | BatchResultErr;
interface BatchResult {
    command: string;
    total: number;
    succeeded: number;
    failed: number;
    results: BatchResultItem[];
}
export declare function batchData(command: string, targets: string[], customDbPath: string | undefined, opts?: Record<string, unknown>): BatchResult;
export declare function splitTargets(targets: Array<string | object>): Array<string | object>;
interface MultiBatchItem {
    command: string;
    target: string;
    opts?: Record<string, unknown>;
}
interface MultiBatchResultOk {
    command: string;
    target: string;
    ok: true;
    data: unknown;
}
interface MultiBatchResultErr {
    command: string;
    target: string;
    ok: false;
    error: string;
}
type MultiBatchResultItem = MultiBatchResultOk | MultiBatchResultErr;
interface MultiBatchResult {
    mode: 'multi';
    total: number;
    succeeded: number;
    failed: number;
    results: MultiBatchResultItem[];
}
export declare function multiBatchData(items: MultiBatchItem[], customDbPath: string | undefined, sharedOpts?: Record<string, unknown>): MultiBatchResult;
export {};
//# sourceMappingURL=batch.d.ts.map