@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
35 lines (34 loc) • 2.52 kB
TypeScript
import { ISignRequest } from '@docsvision/webclient/BackOffice/ISignRequest';
import { ISignResult } from '@docsvision/webclient/BackOffice/ISignResult';
import { ISignatureVerificationResult } from '@docsvision/webclient/BackOffice/ISignatureVerificationResult';
import { IGetCertificateResult } from '@docsvision/webclient/BackOffice/IGetCertificateResult';
import { IGetDocumentInfoResult } from '@docsvision/webclient/BackOffice/IGetDocumentInfoResult';
/** Сервис для взаимодействия c облачным сервисом электронной подписи (таким как КриптоПро DSS) */
export interface ICloudSignatureService {
/** Настроена ли облачная подпись или нет. */
signatureAvailable(): boolean;
/** Требуется ли для сервиса облачной подписи авторизация. */
needsAuthorization(): boolean;
/** Аворирован ли пользователь в сервисе облачной подписи. */
userAuthorized(): boolean;
/** Инициировать процедуру авторизации в сервисе облачной подписи. */
authorize(accountName?: string): Promise<void>;
/** Сбросить авторизацию в сервисе облачной подписи */
logout(): Promise<void>;
/** Получить информацию о сертификате */
getCertificate(id: number): Promise<IGetCertificateResult>;
/** Получить список доступных сертификатов */
getCertificateList(): Promise<IGetCertificateResult[]>;
/** Подписать документ */
signDocument(request: ISignRequest): Promise<ISignResult>;
/** Выполнить проверку электронной подписи. */
verifySignature(signature: string, document: string): Promise<ISignatureVerificationResult>;
/** Сконфигурирован ли облачный сервис проверки подписи. */
verificationAvailable(): boolean;
/** Получить информацию о документе, загруженном в сервис электронной подписи. */
getDocumentInfo(id: string): Promise<IGetDocumentInfoResult>;
}
export declare type $CloudSignature = {
cloudSignature: ICloudSignatureService;
};
export declare const $CloudSignature: string | ((model?: $CloudSignature) => ICloudSignatureService);