import { type Ops, PatternMatcher, type sint, type UOp } from './ops.ts'; export declare const all_reduce: (bop: Ops, lbs: UOp[]) => UOp[]; export declare const to_sharded: (lbs: UOp[], axis: number, bounds: [number, number][]) => UOp[]; export declare const alu_multi: (root: UOp) => UOp; export declare const reduce_multi: (root: UOp, multi: UOp) => UOp; export declare const _shape_to_single_shard: (axis: number, shape: sint[], lb: UOp) => sint[]; export declare const reshape_multi: (root: UOp, multi: UOp) => UOp; export declare const expand_multi: (root: UOp, multi: UOp) => UOp; export declare const pad_multi: (root: UOp, multi: UOp) => UOp; export declare const permute_multi: (root: UOp, multi: UOp) => UOp; export declare const shrink_multi: (root: UOp, multi: UOp) => UOp; export declare const stride_multi: (root: UOp, multi: UOp) => UOp; export declare const copy_multi: (multi: UOp, device: UOp) => UOp; export declare const assign_multi: (dest: UOp, src: UOp) => UOp; export declare const passthrough_multi: (root: UOp, multi: UOp) => UOp; export declare const multi_pm: PatternMatcher; export declare const get_multi_map: (big_sink: UOp) => Map;