import { BufferSpec } from '../device.ts'; import { Compiled } from './allocator.ts'; export declare class CloudRequest { __name: string; constructor(__name: string); } export declare class BufferAlloc extends CloudRequest { buffer_num: number; size: number; options: BufferSpec; constructor(buffer_num: number, size: number, options: BufferSpec); } export declare class BufferFree extends CloudRequest { buffer_num: number; constructor(buffer_num: number); } export declare class CopyIn extends CloudRequest { buffer_num: number; datahash: string; constructor(buffer_num: number, datahash: string); } export declare class CopyOut extends CloudRequest { buffer_num: number; constructor(buffer_num: number); } export declare class ProgramAlloc extends CloudRequest { name: string; datahash: string; constructor(name: string, datahash: string); } export declare class ProgramFree extends CloudRequest { name: string; datahash: string; constructor(name: string, datahash: string); } export declare class ProgramExec extends CloudRequest { name: string; datahash: string; bufs: number[]; vals: number[]; global_size?: number[] | undefined; local_size?: number[] | undefined; wait?: boolean | undefined; constructor(name: string, datahash: string, bufs: number[], vals: number[], global_size?: number[] | undefined, local_size?: number[] | undefined, wait?: boolean | undefined); } export declare const serialize: (x: any) => string | undefined; export declare const deserialize: (x: string) => any; export declare class BatchRequest { _q: CloudRequest[]; _h: Record; h: (d: Uint8Array) => string; q: (x: CloudRequest) => number; serialize: () => Uint8Array; static deserialize: (dat: Uint8Array) => BatchRequest; } export declare class CLOUD extends Compiled { host: string | undefined; session: string; buffer_num: number; req: BatchRequest; _init: boolean; constructor(device: string); init: () => Promise; del: () => Promise; batch_submit: () => Promise; send: (method: string, path: string, body?: Uint8Array) => Promise; }