import TelemetryClient = require("../Library/TelemetryClient");
/** Node.js Azure Functions handle incoming HTTP requests before Application Insights SDK is available,
 * this code generate incoming request telemetry and generate correlation context to be used
 * by outgoing requests and other telemetry, we rely on hooks provided by Azure Functions
*/
export declare class AzureFunctionsHook {
    private _client;
    private _functionsCoreModule;
    private _autoGenerateIncomingRequests;
    private _preInvocationHook;
    private _postInvocationHook;
    private _cachedModelHelper;
    constructor(client: TelemetryClient);
    /**
     * NOTE: The programming model can be changed any time until the first invocation
     * For that reason, we delay setting the model helper until the first hook is called, but we can cache it after that
     */
    private _getFuncModelHelper;
    enable(isEnabled: boolean): void;
    dispose(): void;
    private _addPreInvocationHook;
    private _addPostInvocationHook;
    private _createIncomingRequestTelemetry;
    private _removeInvocationHooks;
}
