import type { ExpandableStringKeyOf, ODataOptionsWithoutCount, OptionsToResponse } from 'pinejs-client-core';
export interface ChunkSizeOptions {
    numericId: number;
    stringId: number;
}
export declare function batchResourceOperationFactory<T extends {
    id: number;
    uuid: string;
}>({ getAll, NotFoundError, AmbiguousResourceError, chunkSize: chunkSizeParam, }: {
    getAll: (options: ODataOptionsWithoutCount<T>) => Promise<T[]>;
    NotFoundError: new (id: string | number) => Error;
    AmbiguousResourceError: new (id: string | number) => Error;
    chunkSize?: number | Partial<ChunkSizeOptions>;
}): {
    <TOpts extends ODataOptionsWithoutCount<T>>(options: {
        uuidOrIdOrArray: number | number[] | string | string[];
        parameterName?: string;
        options?: TOpts;
        groupByNavigationPoperty?: undefined;
        fn: (items: Array<Pick<T, "id"> & Partial<Pick<T, "uuid">> & OptionsToResponse<T, TOpts, string | number>>) => Promise<void>;
    }): Promise<void>;
    <TOpts extends ODataOptionsWithoutCount<T>>(options: {
        uuidOrIdOrArray: number | number[] | string | string[];
        parameterName?: string;
        options?: TOpts;
        groupByNavigationPoperty: ExpandableStringKeyOf<T>;
        fn: (items: Array<Pick<T, "id"> & Partial<Pick<T, "uuid">> & OptionsToResponse<T, TOpts, string | number>>, ownerId: number) => Promise<void>;
    }): Promise<void>;
};
