import type { ModuleCommandResult } from "../../contracts/module-contract.js";
import type { TaskIntakeEnforcementMode } from "./policy-config.js";
import { resolveTaskIntakePolicy } from "./task-intake-policy-resolver.js";
import type { TaskEntity, TaskStatus, TransitionGuard } from "./types.js";
export type TaskIntakeMutationKind = "create-proposed" | "create-ready" | "create-research" | "accept-to-ready";
export declare function readIntakeModuleIdFromArgs(args: Record<string, unknown>): string | null;
export declare function readIntakeModuleIdFromTask(task: TaskEntity): string | null;
export declare function classifyCreateIntakeKind(status: TaskStatus): TaskIntakeMutationKind;
export declare function filterCreateMissingRequired(paths: string[]): string[];
export declare function shouldBlockTaskIntake(enforcement: TaskIntakeEnforcementMode, kind: TaskIntakeMutationKind, hasHardViolations: boolean): boolean;
export declare function buildTaskIntakeResponseSlice(resolution: ReturnType<typeof resolveTaskIntakePolicy>, effectiveMissingRequired?: string[]): Record<string, unknown>;
export declare function evaluateIntakeForCreate(input: {
    effectiveConfig: Record<string, unknown> | undefined;
    task: TaskEntity;
    moduleId?: string | null;
}): {
    intakePayload: Record<string, unknown>;
    stringWarnings: string[];
    block: ModuleCommandResult | null;
};
export declare function evaluateIntakeForAccept(input: {
    effectiveConfig: Record<string, unknown> | undefined;
    task: TaskEntity;
}): {
    intakePayload: Record<string, unknown>;
    hasHard: boolean;
    block: boolean;
    advisoryStrings: string[];
};
export declare function createTaskIntakeAcceptGuard(options: {
    effectiveConfig: Record<string, unknown> | undefined;
}): TransitionGuard;
