import type { User } from '@n8n/db';
import type { RedactableExecution } from '../../../executions/execution-redaction';
export interface RedactionContext {
    readonly user: User;
    readonly redactExecutionData: boolean | undefined;
    readonly userCanReveal: boolean;
    readonly hasDynamicCredentials: boolean;
    readonly memo: Map<string, unknown>;
}
export interface IExecutionRedactionStrategy {
    readonly name: string;
    apply(execution: RedactableExecution, context: RedactionContext): Promise<void>;
    requiresRedaction(execution: RedactableExecution, context: RedactionContext): boolean;
}
