import { Context, ProxyResult, SNSEvent } from 'aws-lambda';
import { ModelValidator } from '@bitblit/ratchet-misc/model-validator/model-validator';
import { BackgroundConfig } from '../config/background/background-config.js';
import { InternalBackgroundEntry } from './internal-background-entry.js';
import { EpsilonLambdaEventHandler } from '../config/epsilon-lambda-event-handler.js';
import { BackgroundManagerLike } from './manager/background-manager-like.js';
export declare class BackgroundHandler implements EpsilonLambdaEventHandler<SNSEvent> {
    private cfg;
    private mgr;
    private modelValidator?;
    private processors;
    private validator;
    constructor(cfg: BackgroundConfig, mgr: BackgroundManagerLike, modelValidator?: ModelValidator);
    get validProcessorNames(): string[];
    extractLabel(evt: SNSEvent, _context: Context): string;
    handlesEvent(evt: any): boolean;
    isBackgroundSNSEvent(event: any): boolean;
    isBackgroundStartSnsEvent(event: any): boolean;
    isBackgroundImmediateFireEvent(event: any): boolean;
    parseImmediateFireBackgroundEntry(event: any): InternalBackgroundEntry<any>;
    processEvent(event: any, _context: Context): Promise<ProxyResult>;
    private takeAndProcessSingleBackgroundQueueEntry;
    private safeWriteToLogger;
    private conditionallyStartTransactionLog;
    private conditionallyCompleteTransactionLog;
    private conditionallyRunErrorProcessor;
    private fireListenerEvent;
    processSingleBackgroundEntry(inE: InternalBackgroundEntry<any>): Promise<boolean>;
    getConfig(): BackgroundConfig;
}
