///
import { DrawingID } from '@buerli.io/core';
import { Remote } from 'comlink';
import { ScgGraphicPackage } from '../re-export';
import { RedoOptions, ServerRequest, ServerResponse, UndoOptions } from '../types/ComClient';
import { AwvNodeClient } from './AwvNodeClient';
export declare type ClassCADWasm = EmscriptenModule & {
FS: typeof FS;
init: (json: string) => void;
execute: (json: string, module: ClassCADWasm, onSend: (module: ClassCADWasm, message: string) => void, onSendBinary: (module: ClassCADWasm, ptrPayload: number, len: number) => void) => void;
};
export declare type WASMClientConfig = {
cclasses?: {
type: 'classcadkey';
key: string;
};
logToConsole?: boolean;
};
declare class classCadWorkerApi {
init(url: string, config?: Partial & {
siteLocation: Location;
}): Promise;
execute(command: ServerRequest): Promise<{
messages: ServerResponse[];
binaryMessages: ScgGraphicPackage[];
}>;
}
export declare class WASMClient extends AwvNodeClient {
protected service: Remote | undefined;
private config;
private worker;
private url;
constructor(drawingId: DrawingID, config: {
classcadKey: string;
url?: string;
logToConsole?: boolean;
});
connect(): Promise;
disconnect(): Promise;
requestByName(name: string, command?: ServerRequest): Promise;
protected request(command: ServerRequest): Promise;
undo(options?: UndoOptions): Promise;
redo(options?: RedoOptions): Promise;
protected syncState(): void;
}
export {};