export type WorkflowDispatchMatrixTier = 'economy' | 'balanced' | 'high' | 'frontier';
export interface WorkflowDispatchRouteTarget {
    harness?: string;
    model?: string;
    effort?: string;
}
export interface DispatchRouteTargetValidation {
    valid: boolean;
    reason?: string;
}
export type WorkflowDispatchRouteEntry = string | WorkflowDispatchRouteTarget;
export type WorkflowDispatchRoute = WorkflowDispatchRouteEntry[];
export interface WorkflowDispatchFallbackRoute {
    route: WorkflowDispatchRoute;
}
export type WorkflowDispatchCandidate = WorkflowDispatchRouteEntry | WorkflowDispatchFallbackRoute;
export interface WorkflowDispatchCandidateLadder {
    candidates: WorkflowDispatchCandidate[];
}
export type WorkflowDispatchLegacyMatrixCell = string | WorkflowDispatchRoute;
export type WorkflowDispatchMatrixCell = WorkflowDispatchCandidateLadder | WorkflowDispatchLegacyMatrixCell;
export type WorkflowDispatchProviderValue = string | Partial<Record<WorkflowDispatchMatrixTier, WorkflowDispatchMatrixCell>>;
export type DispatchMatrixNormalizationIssueKind = 'malformed-provider' | 'malformed-tier' | 'malformed-candidate';
export interface DispatchMatrixNormalizationIssue {
    path: string;
    kind: DispatchMatrixNormalizationIssueKind;
    value: unknown;
}
export interface NormalizedDispatchMatrix {
    providers: Record<string, WorkflowDispatchProviderValue>;
    issues: DispatchMatrixNormalizationIssue[];
}
export type DispatchMatrixSource = 'local-config' | 'repo-config' | 'user-config' | 'project-state';
export interface DispatchMatrixWalkContext {
    source: DispatchMatrixSource;
    pathPrefix: string;
}
export interface DispatchMatrixCellRef {
    provider: string;
    tier: WorkflowDispatchMatrixTier | null;
    candidateIndex: number | null;
    fallbackRouteIndex: number | null;
    value: string | null;
    target: WorkflowDispatchRouteTarget | null;
    path: string;
    source: DispatchMatrixSource;
}
export declare const VALID_DISPATCH_MATRIX_TIERS: readonly WorkflowDispatchMatrixTier[];
export declare function normalizeDispatchMatrix(value: unknown, options: {
    pathPrefix: string;
    compatibilityMode: 'layered-config' | 'project-state';
}): NormalizedDispatchMatrix;
export declare function isCodexMaterializedRouteTarget(provider: string, target: WorkflowDispatchRouteTarget): boolean;
export declare function validateDispatchRouteTarget(provider: string, target: WorkflowDispatchRouteTarget): DispatchRouteTargetValidation;
export declare function isWorkflowDispatchFallbackRoute(value: unknown): value is WorkflowDispatchFallbackRoute;
export declare function isWorkflowDispatchCandidateLadder(value: unknown): value is WorkflowDispatchCandidateLadder;
export declare function toWorkflowDispatchCandidateLadder(cell: WorkflowDispatchMatrixCell): WorkflowDispatchCandidateLadder;
export declare function walkDispatchMatrix(providers: Record<string, WorkflowDispatchProviderValue>, context: DispatchMatrixWalkContext): DispatchMatrixCellRef[];
//# sourceMappingURL=dispatch-matrix.d.ts.map