///
import { Observable } from 'rxjs/internal/Observable';
import { Certificate } from './certificate';
export declare class SignService {
private _certListCache;
constructor();
/**
* Получение хеша файла
* @param oFile
*/
getFileHash(oFile: File): Observable;
/**
* Ассинхронное формирование хеша файла
* @param oFile
* @private
*/
protected _getHashedDataAsync(oFile: File): Observable;
/**
* Синхронное формирование хеша файла
* @param oFile
* @private
*/
protected _getHashedDataSync(oFile: File): Observable;
/**
* Подпись хеша
* @param thumbprint
* @param oHashedData
*/
signHash(thumbprint: string, oHashedData: any): Observable;
/**
* Асинхронная подпись хеша
* @param certificate
* @param oHashedData
* @private
*/
protected _signHashAsync(certificate: Certificate, oHashedData: any): Observable;
/**
* Синхронная подпись хеша
* @param certificate
* @param oHashedData
* @private
*/
protected _signHashSync(certificate: Certificate, oHashedData: any): Observable;
/**
* Подписание файла
* @param oFile
* @param thumbprint
*/
createFileSign(oFile: File, thumbprint: string): Observable;
/**
* Создание подписи
* @param xml - данные для подписи
* @param thumbprint - отпечаток сертификата
* @param needEncode нужно ли кодировать данные в base64
* @param {Boolean} signType -- тип подписи открепленная (true) / присоединенная (false) (default: true)
* @param {String} encodingType -- кодировка подписываемых
* данных cadesplugin.CADESCOM_STRING_TO_UCS2LE (0) / cadesplugin.CADESCOM_BASE64_TO_BINARY (1)
* (default: cadesplugin.CADESCOM_STRING_TO_UCS2LE (0))
*/
createSign(xml: string, thumbprint: string, needEncode?: boolean, signType?: boolean, encodingType?: number): Observable;
/**
* Асинхронное подписание данных
* @param xml - данные для подписи в base64
* @param certificate - cсертификат пользователя
* @param signType - тип подписи (открепленная/прикрепленная)
* @param encodingType - тип кодировки подписи
* @private
*/
protected _createSignAsync(xml: string, certificate: Certificate, signType?: boolean, encodingType?: number): Observable;
/**
* Синхронное подписание данных
* @param xml - данные для подписи в base64
* @param certificate - сертификат пользователя
* @param signType - тип подписи (открепленная/прикрепленная)
* @param encodingType - тип кодировки подписи
* @private
*/
protected _createSignSync(xml: string, certificate: Certificate, signType?: boolean, encodingType?: number): Observable;
/**
* Определение алгоритма подписи данных
* @param certificate
*/
protected getAlgorithmCode(certificate: Certificate): Observable;
/**
* Получение списка сертификатов
* @param resetCache - необходимо ли обновить закешированный список сертификатов
*/
getCertsList(resetCache?: boolean): Observable>;
/**
* Получение сертификата пользователя по хэшу
* @param hash - хэш сертификата
*/
getCert(hash: string): Observable;
/**
* Асинхронное получение списка сертификатов
* @private
*/
protected _getCertsListAsync(): Observable>;
/**
* Синхронное получение списка сертификатов
* @private
*/
protected _getCertsListSync(): Observable>;
/**
* Подготавливает информацию о сертификатах
* @param items - массив сертификатов
*/
protected prepareCertsInfo(items: Array): Array;
/**
* Возвращает дату в формате (dd.mm.yyyy hh:mm:ss) из строки, формата, используемого плагином cryptoPro
* */
getReadableDate(date: string): string;
/**
* Полная информация о системе пользователя
*/
getSystemInfo(): Observable;
/**
* Информация о системе пользователя
*/
protected getSysInfo(): {
browserName: string;
browserVersion: string | number;
os: string;
cadesVersion: string;
cspVersion: string;
};
}