import '../../../../../assert/js/assert.js';
import '../../../../../globals.js';
/**
 * Provides the ability to log things to a buffer in storage, like console.log would.
 *
 * @author Jonathan Olson <jonathan.olson@colorado.edu>
 */
import { ConcreteType, ConsoleLoggedLine, WGSLExpression, WGSLExpressionT, WGSLExpressionU32, WGSLStatements, WGSLString, WGSLVariableName } from '../../../imports.js';
export type logWGSLOptions<T> = {
    name: string | null;
    additionalIndex?: WGSLExpressionU32 | null;
    type?: ConcreteType<T> | null;
    writeData?: ((write: (tIndex: WGSLExpressionU32, tValue: WGSLExpressionT) => WGSLStatements) => WGSLStatements) | null;
    dataCount?: number | WGSLString | ((varName: WGSLVariableName) => WGSLStatements);
    lineToLog?: ((line: ConsoleLoggedLine) => unknown) | null;
    workgroupId?: WGSLExpression;
    localId?: WGSLExpression;
};
export declare const LOG_DEFAULTS: {
    readonly additionalIndex: null;
    readonly type: null;
    readonly writeData: null;
    readonly dataCount: 0;
    readonly lineToLog: null;
    readonly workgroupId: WGSLString;
    readonly localId: WGSLString;
};
declare const logWGSL: <T>(providedOptions: logWGSLOptions<T>) => WGSLStatements;
export default logWGSL;
//# sourceMappingURL=logWGSL.d.ts.map