import http = require("http");
import Promise = require("bluebird");
import { Authentication } from '../auth/Authentication';
import { WebhookEncryptionPublicKey } from '../models/WebhookEncryptionPublicKey';
declare class WebhookEncryptionService {
    protected _basePath: string;
    protected _defaultHeaders: any;
    protected _useQuerystring: boolean;
    protected _timeout: number;
    protected _defaultAuthentication: Authentication;
    protected static _cache: Map<string, WebhookEncryptionPublicKey>;
    constructor(configuration: any);
    /**
    * Set timeout in seconds. Default timeout: 25 seconds
    * @param {number} timeout
    */
    set timeout(timeout: number);
    private setTimeout;
    set basePath(basePath: string);
    get basePath(): string;
    protected setDefaultAuthentication(auth: Authentication): void;
    private getVersion;
    /**
    * Reads the entity with the given 'id' and returns it.
    * @summary Read
    * @param id The ID of the key version.
    * @param {*} [options] Override http request options.
    */
    read(id: string, options?: any): Promise<{
        response: http.IncomingMessage;
        body: WebhookEncryptionPublicKey;
    }>;
    /**
     * Verify webhook content signature.
     *
     * @param signatureHeader Signature header 'X-Signature' value from the Http request
     * @param contentToVerify Raw webhook content in String format
     * @returns Promise<boolean> indicating if the content is valid
     */
    isContentValid(signatureHeader: string, contentToVerify: string): Promise<boolean>;
}
export { WebhookEncryptionService };
