import type { DataTableProxyProvider, DynamicCredentialCheckProxyProvider, IExecutionContext, IWorkflowSettings, Result } from 'n8n-workflow';
import type { LookupFunction } from 'node:net';
import type { ExecutionLifecycleHooks } from './execution-lifecycle-hooks';
import type { ExternalSecretsProxy } from './external-secrets-proxy';
export type SsrfCheckResult = Result<void, Error>;
export interface SsrfBridge {
    validateIp(ip: string): SsrfCheckResult;
    validateUrl(url: string | URL): Promise<SsrfCheckResult>;
    validateRedirectSync(url: string): void;
    createSecureLookup(): LookupFunction;
}
declare module 'n8n-workflow' {
    interface IWorkflowExecuteAdditionalData {
        hooks?: ExecutionLifecycleHooks;
        externalSecretsProxy: ExternalSecretsProxy;
        externalSecretProviderKeysAccessibleByCredential?: Set<string>;
        ssrfBridge?: SsrfBridge;
        'data-table'?: {
            dataTableProxyProvider: DataTableProxyProvider;
        };
        'dynamic-credentials'?: {
            credentialCheckProxy: DynamicCredentialCheckProxyProvider;
        };
        dataTableProjectId?: string;
        executionContext?: IExecutionContext;
        workflowSettings?: IWorkflowSettings;
    }
}
export * from './active-workflows';
export type * from './interfaces';
export * from './routing-node';
export * from './node-execution-context';
export * from './partial-execution-utils';
export * from './node-execution-context/utils/execution-metadata';
export * from './workflow-execute';
export * from './execution-context-hook-registry.service';
export { ExecutionLifecycleHooks } from './execution-lifecycle-hooks';
export { ExternalSecretsProxy, type IExternalSecretsManager } from './external-secrets-proxy';
export { ExecutionContextService } from './execution-context.service';
export { isEngineRequest } from './requests-response';
