/**
 * add command implementation
 *
 * Appends a task record to .takt/tasks.yaml.
 */
import type { Language } from '../../../core/models/types.js';
import { extractTitle, createIssueFromTask } from './issueTask.js';
import { type WorktreeSettings } from './worktree-settings.js';
import { type TaskAttachment } from '../attachments.js';
export { extractTitle, createIssueFromTask };
type SaveTaskOptions = {
    workflow?: string;
    issue?: number;
    worktree?: boolean | string;
    branch?: string;
    baseBranch?: string;
    autoPr?: boolean;
    draftPr?: boolean;
    managedPr?: boolean;
    shouldPublishBranchToOrigin?: boolean;
    prNumber?: number;
    attachments?: TaskAttachment[];
};
/**
 * Save a task entry to .takt/tasks.yaml.
 *
 * Common logic extracted from addTask(). Used by both addTask()
 * and saveTaskFromInteractive().
 */
export declare function saveTaskFile(cwd: string, taskContent: string, options?: SaveTaskOptions): Promise<{
    taskName: string;
    tasksFile: string;
}>;
/**
 * Prompt user to select a label for the issue.
 *
 * Presents 4 fixed options: None, bug, enhancement, custom input.
 * Returns an array of selected labels (empty if none selected).
 */
export declare function promptLabelSelection(lang: Language): Promise<string[]>;
/**
 * Save a task from interactive mode result.
 * Prompts for worktree/branch/auto_pr settings before saving.
 * If presetSettings is provided, skips the prompt and uses those settings directly.
 */
export declare function saveTaskFromInteractive(cwd: string, task: string, workflow?: string, options?: {
    issue?: number;
    confirmAtEndMessage?: string;
    presetSettings?: WorktreeSettings;
    attachments?: TaskAttachment[];
}): Promise<void>;
export declare function createIssueAndSaveTask(cwd: string, task: string, workflow?: string, options?: {
    confirmAtEndMessage?: string;
    labels?: string[];
    attachments?: TaskAttachment[];
}): Promise<void>;
/**
 * add command handler
 *
 * Flow:
 *   A) --pr オプション: PRレビュー取得 → ワークフロー選択 → YAML作成
 *   B) 引数なし: Usage表示して終了
 *   C) Issue参照の場合: issue取得 → ワークフロー選択 → ワークツリー設定 → YAML作成
 *   D) 通常入力: ワークフロー選択 → ワークツリー設定 → YAML作成
 */
export declare function addTask(cwd: string, task?: string, opts?: {
    prNumber?: number;
    workflow?: string;
}): Promise<void>;
//# sourceMappingURL=index.d.ts.map