import { type atomicI32, type atomicU32 } from '../data/wgslTypes.ts';
type AnyAtomic = atomicI32 | atomicU32;
export declare const workgroupBarrier: import("../types.ts").DualFn<(...args: never[]) => unknown>;
export declare const storageBarrier: import("../types.ts").DualFn<(...args: never[]) => unknown>;
export declare const textureBarrier: import("../types.ts").DualFn<(...args: never[]) => unknown>;
export declare const atomicLoad: import("../types.ts").DualFn<(<T extends AnyAtomic>(a: T) => number)>;
export declare const atomicStore: import("../types.ts").DualFn<(<T extends AnyAtomic>(a: T, value: number) => void)>;
export declare const atomicAdd: import("../types.ts").DualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
export declare const atomicSub: import("../types.ts").DualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
export declare const atomicMax: import("../types.ts").DualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
export declare const atomicMin: import("../types.ts").DualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
export declare const atomicAnd: import("../types.ts").DualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
export declare const atomicOr: import("../types.ts").DualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
export declare const atomicXor: import("../types.ts").DualFn<(<T extends AnyAtomic>(a: T, value: number) => number)>;
export {};
