import '../../../../globals.js';
import { ExecutionContext, Module, PipelineBlueprint, PipelineBlueprintOptions } from '../../imports.js';
export type IndirectModuleOptions<T> = {
    create: (blueprint: PipelineBlueprint) => void;
    execute: (context: ExecutionContext, dispatch: (context: ExecutionContext, indirectBuffer: GPUBuffer, indirectOffset: number) => void, data: T) => void;
} & PipelineBlueprintOptions;
export declare const INDIRECT_MODULE_DEFAULTS: {
    readonly log: false;
};
export default class IndirectModule<T> extends Module<T> {
    constructor(providedOptions: IndirectModuleOptions<T>);
}
//# sourceMappingURL=IndirectModule.d.ts.map