import { PvModel } from '@picovoice/web-utils';
export declare enum PvStatus {
    SUCCESS = 10000,
    OUT_OF_MEMORY = 10001,
    IO_ERROR = 10002,
    INVALID_ARGUMENT = 10003,
    STOP_ITERATION = 10004,
    KEY_ERROR = 10005,
    INVALID_STATE = 10006,
    RUNTIME_ERROR = 10007,
    ACTIVATION_ERROR = 10008,
    ACTIVATION_LIMIT_REACHED = 10009,
    ACTIVATION_THROTTLED = 10010,
    ACTIVATION_REFUSED = 10011
}
/**
 * ZebraModel types
 */
export type ZebraModel = PvModel;
export type ZebraWorkerInitRequest = {
    command: 'init';
    accessKey: string;
    modelPath: string;
    device?: string;
    wasmSimd: string;
    wasmSimdLib: string;
    wasmPThread: string;
    wasmPThreadLib: string;
    sdk: string;
};
export type ZebraWorkerTranslateRequest = {
    command: 'translate';
    text: string;
};
export type ZebraWorkerReleaseRequest = {
    command: 'release';
};
export type ZebraWorkerRequest = ZebraWorkerInitRequest | ZebraWorkerTranslateRequest | ZebraWorkerReleaseRequest;
export type ZebraWorkerFailureResponse = {
    command: 'failed' | 'error';
    status: PvStatus;
    shortMessage: string;
    messageStack: string[];
};
export type ZebraWorkerInitResponse = ZebraWorkerFailureResponse | {
    command: 'ok';
    maxCharacterLimit: number;
    version: string;
};
export type ZebraWorkerTranslateResponse = ZebraWorkerFailureResponse | {
    command: 'ok';
    translation: string;
};
export type ZebraWorkerReleaseResponse = ZebraWorkerFailureResponse | {
    command: 'ok';
};
export type ZebraWorkerResponse = ZebraWorkerInitResponse | ZebraWorkerTranslateResponse | ZebraWorkerReleaseResponse;
//# sourceMappingURL=types.d.ts.map