import '../../../../../assert/js/assert.js';
import '../../../../../globals.js';
import StrictOmit from '../../../../../phet-core/js/types/StrictOmit.js';
import { BitOrder, BufferSlot, loadMultipleWGSLOptions, RakedSizable, WGSLExpressionU32, WGSLMainModule } from '../../../imports.js';
export type mainRadixScatterWGSLOptions<T> = {
    input: BufferSlot<T[]>;
    histogramOffsets: BufferSlot<number[]>;
    output: BufferSlot<T[]>;
    order: BitOrder<T>;
    pass: number;
    bitsPerPass: number;
    bitsPerInnerPass: number;
    innerBitVectorSize: number;
    earlyLoad: boolean;
    lengthExpression: WGSLExpressionU32;
    loadMultipleOptions?: StrictOmit<loadMultipleWGSLOptions<T>, 'loadExpression' | 'loadStatements' | 'storeStatements' | 'type' | 'workgroupSize' | 'grainSize' | 'lengthExpression' | 'outOfRangeValue' | 'inputOrder' | 'inputAccessOrder'>;
} & RakedSizable;
export declare const MAIN_RADIX_SCATTER_DEFAULTS: {
    readonly loadMultipleOptions: {};
};
declare const mainRadixScatterWGSL: <T>(providedOptions: mainRadixScatterWGSLOptions<T>) => WGSLMainModule;
export default mainRadixScatterWGSL;
//# sourceMappingURL=mainRadixScatterWGSL.d.ts.map