export interface WorkflowPrListWhere {
    author?: string;
    base_branch?: string;
    head_branch?: string;
    managed_by_takt?: boolean;
    labels?: string[];
    same_repository?: boolean;
    draft?: boolean;
}
export declare function normalizeWorkflowPrListWhere(where: WorkflowPrListWhere | undefined): WorkflowPrListWhere | undefined;
export declare function workflowPrListWhereEquals(left: WorkflowPrListWhere | undefined, right: WorkflowPrListWhere | undefined): boolean;
export declare function stringifyWorkflowPrListWhere(where: WorkflowPrListWhere | undefined): string;
interface WorkflowSystemBinding {
    as: string;
}
export type WorkflowSystemInput = (WorkflowSystemBinding & {
    type: 'task_context';
    source: 'current_task';
}) | (WorkflowSystemBinding & {
    type: 'branch_context';
    source: 'current_task';
}) | (WorkflowSystemBinding & {
    type: 'pr_context';
    source: 'current_branch';
}) | (WorkflowSystemBinding & {
    type: 'issue_context';
    source: 'current_task';
}) | (WorkflowSystemBinding & {
    type: 'task_queue_context';
    source: 'current_project';
    exclude_current_task?: boolean;
}) | (WorkflowSystemBinding & {
    type: 'pr_list';
    source: 'current_project';
    where?: WorkflowPrListWhere;
}) | (WorkflowSystemBinding & {
    type: 'issue_list';
    source: 'current_project';
    exclude_selected_from?: string;
}) | (WorkflowSystemBinding & {
    type: 'pr_selection';
    source: 'current_project';
    where?: WorkflowPrListWhere;
}) | (WorkflowSystemBinding & {
    type: 'issue_selection';
    source: 'current_project';
});
export interface WorkflowEnqueueIssueConfig {
    create?: boolean;
    title?: string;
    labels?: string[];
}
export interface WorkflowEnqueueWorktreeConfig {
    enabled?: boolean;
    auto_pr?: boolean;
    draft_pr?: boolean;
    managed_pr?: boolean;
}
export interface WorkflowEnqueueBaseBranchConfig {
    name: string;
    create_if_missing: {
        from: string;
        push?: boolean;
    };
}
type WorkflowContextTemplateReference = `{context:${string}}`;
type WorkflowStructuredTemplateReference = `{structured:${string}}`;
type WorkflowEffectTemplateReference = `{effect:${string}}`;
export type WorkflowTemplateReference = WorkflowContextTemplateReference | WorkflowStructuredTemplateReference | WorkflowEffectTemplateReference;
export type WorkflowEffectScalarReference = WorkflowTemplateReference | number;
export type WorkflowEffect = {
    type: 'enqueue_task';
    mode: 'new' | 'from_pr';
    workflow: string;
    task: string;
    pr?: WorkflowEffectScalarReference;
    issue?: WorkflowEnqueueIssueConfig | WorkflowTemplateReference;
    base_branch?: string | WorkflowEnqueueBaseBranchConfig;
    worktree?: WorkflowEnqueueWorktreeConfig;
} | {
    type: 'comment_pr';
    pr: WorkflowEffectScalarReference;
    body: string;
} | {
    type: 'sync_with_root';
    pr: WorkflowEffectScalarReference;
} | {
    type: 'resolve_conflicts_with_ai';
    pr: WorkflowEffectScalarReference;
} | {
    type: 'merge_pr';
    pr: WorkflowEffectScalarReference;
} | {
    type: 'close_pr';
    pr: WorkflowEffectScalarReference;
};
export {};
//# sourceMappingURL=workflow-system-input-types.d.ts.map