import { ResultCode } from '../message';
/**
 * iSCPモジュールで定義されている例外の基底クラスです。
 * @category Exception
 */
export declare class ISCPException extends Error {
}
/**
 * 予期しない例外です。
 * @category Exception
 */
export declare class ISCPUnexpectedError extends ISCPException {
}
/**
 * トランスポートが閉じられている状態でトランスポートへの読み書きをした場合に送出される例外です。
 * @category Exception
 */
export declare class ISCPTransportClosedError extends ISCPException {
}
/**
 * メッセージのエンコードやデコードに失敗した時に送出される例外です。
 * @category Exception
 */
export declare class ISCPMalformedMessageError extends ISCPException {
}
/**
 * iSCPでの通信中に、失敗を意味する結果コードが含まれたメッセージを受信した場合に送出される例外です。
 * @category Exception
 */
export declare class ISCPFailedMessageError extends ISCPException {
    #private;
    constructor(receivedMessage: {
        resultCode: ResultCode;
        resultString: string;
    });
    /**
     * 受信したメッセージの{@link ResultCode}を取得します。
     */
    get resultCode(): ResultCode;
    /**
     * 受信したメッセージの文字列を取得します。
     */
    get resultString(): string;
}
/**
 * iSCPでの通信中にタイムアウトが発生した時に送出される例外です。
 * @category Exception
 */
export declare class ISCPTimeoutError extends ISCPException {
}
/**
 * ISCPが再接中にリクエストした時に創出される例外です。
 * @internal
 */
export declare class ISCPReconnectingError extends ISCPException {
}
