import { IConnection, IOptions } from "../../../../connection.ts";
import { Service } from "../../../../espConnection.ts";
export declare namespace WsCodesign {
    type int = number;
    enum SigningMethodType {
        gpg = "gpg"
    }
    interface ListUserIDsRequest {
    }
    interface Exception {
        Code: string;
        Audience: string;
        Source: string;
        Message: string;
    }
    interface Exceptions {
        Source: string;
        Exception: Exception[];
    }
    interface UserIDs {
        Item: string[];
    }
    interface ListUserIDsResponse {
        Exceptions: Exceptions;
        UserIDs: UserIDs;
    }
    interface ws_codesignPingRequest {
    }
    interface ws_codesignPingResponse {
    }
    interface SignRequest {
        SigningMethod?: SigningMethodType;
        UserID?: string;
        KeyPass?: string;
        Text?: string;
    }
    interface SignResponse {
        Exceptions: Exceptions;
        RetCode: int;
        ErrMsg: string;
        SignedText: string;
    }
    interface VerifyRequest {
        Text?: string;
    }
    interface VerifyResponse {
        Exceptions: Exceptions;
        RetCode: int;
        ErrMsg: string;
        IsVerified: boolean;
        SignedBy: string;
    }
}
export declare class CodesignServiceBase extends Service {
    constructor(optsConnection: IOptions | IConnection);
    ListUserIDs(request: Partial<WsCodesign.ListUserIDsRequest>): Promise<WsCodesign.ListUserIDsResponse>;
    Ping(request: Partial<WsCodesign.ws_codesignPingRequest>): Promise<WsCodesign.ws_codesignPingResponse>;
    Sign(request: Partial<WsCodesign.SignRequest>): Promise<WsCodesign.SignResponse>;
    Verify(request: Partial<WsCodesign.VerifyRequest>): Promise<WsCodesign.VerifyResponse>;
}
