import { z } from 'zod';
/**
 * WidenOptionsSteps - 選択肢の幅を広げるためのステップ定義
 * 語彙「WidenOptionsSteps」
 * domain type: value
 */
export type WidenOptionsSteps = {
    type: 'initial_registered';
    description: '初期登録した';
} | {
    type: 'laddered';
    description: 'ラダリングした';
} | {
    type: 'analogical_research_done';
    description: '類推解決策調査した';
} | {
    type: 'elimination_tested';
    description: '消去テストした';
} | {
    type: 'fixed';
    description: 'fixした';
};
/**
 * WidenOptionsStepsのコンストラクタ
 */
export declare const WidenOptionsSteps: {
    readonly initialRegistered: () => WidenOptionsSteps;
    readonly laddered: () => WidenOptionsSteps;
    readonly analogicalResearchDone: () => WidenOptionsSteps;
    readonly eliminationTested: () => WidenOptionsSteps;
    readonly fixed: () => WidenOptionsSteps;
};
/**
 * Zodスキーマ
 */
export declare const WidenOptionsStepsSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
    type: z.ZodLiteral<"initial_registered">;
    description: z.ZodLiteral<"初期登録した">;
}, "strip", z.ZodTypeAny, {
    type: "initial_registered";
    description: "初期登録した";
}, {
    type: "initial_registered";
    description: "初期登録した";
}>, z.ZodObject<{
    type: z.ZodLiteral<"laddered">;
    description: z.ZodLiteral<"ラダリングした">;
}, "strip", z.ZodTypeAny, {
    type: "laddered";
    description: "ラダリングした";
}, {
    type: "laddered";
    description: "ラダリングした";
}>, z.ZodObject<{
    type: z.ZodLiteral<"analogical_research_done">;
    description: z.ZodLiteral<"類推解決策調査した">;
}, "strip", z.ZodTypeAny, {
    type: "analogical_research_done";
    description: "類推解決策調査した";
}, {
    type: "analogical_research_done";
    description: "類推解決策調査した";
}>, z.ZodObject<{
    type: z.ZodLiteral<"elimination_tested">;
    description: z.ZodLiteral<"消去テストした">;
}, "strip", z.ZodTypeAny, {
    type: "elimination_tested";
    description: "消去テストした";
}, {
    type: "elimination_tested";
    description: "消去テストした";
}>, z.ZodObject<{
    type: z.ZodLiteral<"fixed">;
    description: z.ZodLiteral<"fixした">;
}, "strip", z.ZodTypeAny, {
    type: "fixed";
    description: "fixした";
}, {
    type: "fixed";
    description: "fixした";
}>]>;
/**
 * WorkflowStateからWidenOptionsStepsへのマッピング
 */
export declare const fromWorkflowState: (workflowState: {
    type: string;
}) => WidenOptionsSteps | null;
/**
 * WidenOptionsStepsからWorkflowStateのtypeへのマッピング
 */
export declare const toWorkflowStateType: (step: WidenOptionsSteps) => string;
/**
 * ステップの表示名を取得する純粋関数
 */
export declare const getStepDisplayName: (step: WidenOptionsSteps) => string;
/**
 * すべてのステップを順序通りに取得
 */
export declare const getAllSteps: () => WidenOptionsSteps[];
/**
 * ステップを比較する純粋関数
 */
export declare const isStep: (step: WidenOptionsSteps, type: WidenOptionsSteps["type"]) => boolean;
//# sourceMappingURL=widen-options-steps.d.ts.map