import type { DispatchAllowlistEntry } from '../config.js'; import { type WorkflowListEntry } from '../lib/ci-workflow.js'; /** GitHub's `workflow_dispatch` accepts at most 10 inputs; twice that leaves room for Depot's own. */ export declare const DISPATCH_MAX_INPUTS = 20; /** Longer values are files, not parameters, and would bloat the request and the audit trail. */ export declare const DISPATCH_MAX_INPUT_CHARS = 1000; /** * Validates the argument shapes without touching Depot. Returns the reason the dispatch must * not proceed, or undefined when the arguments are well-formed. Used by the preview (to skip the * read when there is no point) and by the refusal step. */ export declare function dispatchArgumentProblem(input: { repo: string; workflow: string; ref: string; inputs?: Record | undefined; }): string | undefined; /** True when no allowlist is configured, or when this repository and workflow file are on it. */ export declare function isDispatchAllowed(repo: string, workflow: string, allowlist: readonly DispatchAllowlistEntry[] | undefined): boolean; type MatchKind = 'path' | 'name' | 'prefix'; /** * Depot reports the workflow file (`workflowPath`) on some rows and only the YAML `name:` on * others, and the two rarely agree with the basename an operator types. Match the file first, * then the name against the basename or its stem, then a name that begins with the stem. */ export declare function matchWorkflowEntry(entry: WorkflowListEntry, workflow: string): MatchKind | undefined; export declare const dispatchCiWorkflowTool: import("../lib/tool.js").ToolModule; export {}; //# sourceMappingURL=ci-dispatch.d.ts.map