/**
 * Phase D-0a-3 — merge pre_prompt_build hook output into per-turn skill filters.
 *
 * Channel `skillFilter` (from per-channel routing) and the agent's static
 * `denyFilter` (from `agents.list[<id>].denyskills`) are combined with the
 * hook's per-turn overrides:
 *
 * - skills:      hook narrows the channel filter (intersection). If the channel
 *                has no allowlist, hook.skills becomes the allowlist for this turn.
 * - denyskills:  unioned with the static deny list (deny wins over allow).
 *
 * Returns merged filters; either may be `undefined` to mean "no filter applied
 * at this layer" (matches existing semantics in `buildWorkspaceSkillSnapshot`).
 */
export type PrePromptHookOutput = {
    skills?: string[];
    denyskills?: string[];
};
export type MergedSkillFilters = {
    skillFilter: string[] | undefined;
    denyFilter: string[] | undefined;
};
export declare function mergePrePromptBuildIntoFilters(params: {
    channelSkillFilter: string[] | undefined;
    staticDenyFilter: string[] | undefined;
    hookResult: PrePromptHookOutput | undefined;
}): MergedSkillFilters;
