import type { Workflow, INode, IWorkflowExecuteAdditionalData, WorkflowExecuteMode, IRunExecutionData, INodeExecutionData, ITaskDataConnections, IExecuteData, ICredentialDataDecryptedObject, CallbackManager, IExecuteWorkflowInfo, RelatedExecution, ExecuteWorkflowData, ITaskMetadata, ContextType, IContextObject, IWorkflowDataProxyData, ISourceData, AiEvent, NodeConnectionType, Result } from 'n8n-workflow';
import { NodeExecutionContext } from './node-execution-context';
export declare class BaseExecuteContext extends NodeExecutionContext {
    readonly runExecutionData: IRunExecutionData;
    readonly connectionInputData: INodeExecutionData[];
    readonly inputData: ITaskDataConnections;
    readonly executeData: IExecuteData;
    readonly abortSignal?: AbortSignal | undefined;
    constructor(workflow: Workflow, node: INode, additionalData: IWorkflowExecuteAdditionalData, mode: WorkflowExecuteMode, runExecutionData: IRunExecutionData, runIndex: number, connectionInputData: INodeExecutionData[], inputData: ITaskDataConnections, executeData: IExecuteData, abortSignal?: AbortSignal | undefined);
    getExecutionContext(): {
        version: 1;
        establishedAt: number;
        source: "webhook" | "error" | "cli" | "integrated" | "internal" | "manual" | "retry" | "trigger" | "evaluation" | "chat";
        triggerNode?: {
            name: string;
            type: string;
        } | undefined;
        parentExecutionId?: string | undefined;
        credentials?: string | undefined;
        redaction?: {
            version: 1;
            policy: "none" | "all" | "non-manual" | "manual-only";
        } | undefined;
    } | undefined;
    getExecutionCancelSignal(): AbortSignal | undefined;
    onExecutionCancellation(handler: () => unknown): void;
    getExecuteData(): IExecuteData;
    setMetadata(metadata: ITaskMetadata): void;
    getContext(type: ContextType): IContextObject;
    continueOnFail(): boolean;
    getCredentials<T extends object = ICredentialDataDecryptedObject>(type: string, itemIndex: number): Promise<T>;
    putExecutionToWait(waitTill: Date): Promise<void>;
    executeWorkflow(workflowInfo: IExecuteWorkflowInfo, inputData?: INodeExecutionData[], parentCallbackManager?: CallbackManager, options?: {
        doNotWaitToFinish?: boolean;
        parentExecution?: RelatedExecution;
        executionMode?: WorkflowExecuteMode;
    }): Promise<ExecuteWorkflowData>;
    getExecutionDataById(executionId: string): Promise<IRunExecutionData | undefined>;
    protected getInputItems(inputIndex: number, connectionType: NodeConnectionType): INodeExecutionData[] | undefined;
    getInputSourceData(inputIndex?: number, connectionType?: "main"): ISourceData;
    getWorkflowDataProxy(itemIndex: number): IWorkflowDataProxyData;
    sendMessageToUI(...args: any[]): void;
    logAiEvent(eventName: AiEvent, msg: string): void;
    startJob<T = unknown, E = unknown>(jobType: string, settings: unknown, itemIndex: number): Promise<Result<T, E>>;
    getRunnerStatus(taskType: string): {
        available: true;
    } | {
        available: false;
        reason?: string;
    };
}
