import { Context, ProxyResult } from 'aws-lambda';
import { LoggerOptions } from '@bitblit/ratchet-common/logger/logger-options';
import { BackgroundEntry } from './background/background-entry.js';
import { EpsilonInstance } from './epsilon-instance.js';
export declare class EpsilonGlobalHandler {
    private _epsilon;
    private static LOGGER_CONFIGURED;
    private static GLOBAL_INSTANCE_PROVIDER;
    static set globalInstanceProvider(input: () => Promise<EpsilonGlobalHandler>);
    static get globalInstanceProvider(): () => Promise<EpsilonGlobalHandler>;
    private handlers;
    constructor(_epsilon: EpsilonInstance);
    static configureDefaultLogger(overrides?: LoggerOptions): void;
    get epsilon(): EpsilonInstance;
    processSingleBackgroundByParts<T>(type: string, data?: T, overrideTraceId?: string, overrideTraceDepth?: number): Promise<boolean>;
    processSingleBackgroundEntry(e: BackgroundEntry<any>, overrideTraceId?: string, overrideTraceDepth?: number): Promise<boolean>;
    lambdaHandler(event: any, context: Context): Promise<any>;
    innerLambdaHandler(event: any, context: Context): Promise<any>;
    static defaultProcessUncaughtError(event: any, context: Context, err: any): Promise<ProxyResult>;
}
