import { z } from 'zod';
import { Workflow } from '../../types/n8n-api';
import { InstanceContext } from '../../types/instance-context';
import { N8nApiClient } from '../../services/n8n-api-client';
import { TriggerType, TriggerResponse, TriggerHandlerCapabilities, DetectedTrigger, BaseTriggerInput } from '../types';
export type TriggerHandlerConstructor = new (client: N8nApiClient, context?: InstanceContext) => BaseTriggerHandler;
export declare abstract class BaseTriggerHandler<T extends BaseTriggerInput = BaseTriggerInput> {
protected client: N8nApiClient;
protected context?: InstanceContext;
abstract readonly triggerType: TriggerType;
abstract readonly capabilities: TriggerHandlerCapabilities;
abstract readonly inputSchema: z.ZodSchema<T>;
constructor(client: N8nApiClient, context?: InstanceContext);
validate(input: unknown): T;
abstract execute(input: T, workflow: Workflow, triggerInfo?: DetectedTrigger): Promise<TriggerResponse>;
protected getBaseUrl(): string | undefined;
protected getApiKey(): string | undefined;
protected normalizeResponse(result: unknown, input: T, startTime: number, extra?: Partial<TriggerResponse>): TriggerResponse;
protected errorResponse(input: BaseTriggerInput, error: string, startTime: number, extra?: Partial<TriggerResponse>): TriggerResponse;
}
//# sourceMappingURL=base-handler.d.ts.map