import '../../../../../globals.js';
/**
 * Performs a full radix-sort of an array in workgroup memory (which can be of length workgroupSize * grainSize),
 * using a more complicated/computational but lower-memory approach by packing the accumulated bits (that we scan over)
 * into a more compact form (packed into either a u32/vec2u/vec3u/vec4u, depending on the bitVectorSize parameter).
 *
 * @author Jonathan Olson <jonathan.olson@colorado.edu>
 */
import { nBitCompactSingleSortWGSLOptions, WGSLExpressionT, WGSLExpressionU32, WGSLStatements } from '../../../imports.js';
import StrictOmit from '../../../../../phet-core/js/types/StrictOmit.js';
export type compactSingleRadixSortWGSLOptions<T> = {
    totalBits: number;
    getBitsAtIndex: (value: WGSLExpressionT, bitIndex: WGSLExpressionU32) => WGSLExpressionU32;
} & StrictOmit<nBitCompactSingleSortWGSLOptions<T>, 'getBits'>;
declare const compactSingleRadixSortWGSL: <T>(providedOptions: compactSingleRadixSortWGSLOptions<T>) => WGSLStatements;
export default compactSingleRadixSortWGSL;
//# sourceMappingURL=compactSingleRadixSortWGSL.d.ts.map