import { z } from 'zod';
import { type ActionId } from './actionIds.js';
import { type ActionUiPlacement } from './actionUiPlacements.js';
export declare const ActionSurfaceSchema: z.ZodObject<{
    ui_button: z.ZodBoolean;
    ui_slash_command: z.ZodBoolean;
    voice_tool: z.ZodBoolean;
    voice_action_block: z.ZodBoolean;
    session_agent: z.ZodBoolean;
    mcp: z.ZodBoolean;
    cli: z.ZodBoolean;
}, z.core.$strict>;
export type ActionSurfaces = z.infer<typeof ActionSurfaceSchema>;
export declare const ActionSafetySchema: z.ZodEnum<{
    safe: "safe";
    danger: "danger";
}>;
export type ActionSafety = z.infer<typeof ActionSafetySchema>;
export declare const ActionInputWidgetSchema: z.ZodEnum<{
    text: "text";
    textarea: "textarea";
    text_list: "text_list";
    select: "select";
    multiselect: "multiselect";
    toggle: "toggle";
    checkbox: "checkbox";
}>;
export type ActionInputWidget = z.infer<typeof ActionInputWidgetSchema>;
export declare const ActionInputOptionSchema: z.ZodObject<{
    value: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    disabled: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>;
export type ActionInputOption = z.infer<typeof ActionInputOptionSchema>;
export declare const ActionInputFieldHintSchema: z.ZodObject<{
    path: z.ZodString;
    title: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    widget: z.ZodEnum<{
        text: "text";
        textarea: "textarea";
        text_list: "text_list";
        select: "select";
        multiselect: "multiselect";
        toggle: "toggle";
        checkbox: "checkbox";
    }>;
    listSeparator: z.ZodOptional<z.ZodEnum<{
        comma: "comma";
        newline: "newline";
    }>>;
    required: z.ZodOptional<z.ZodBoolean>;
    requireExplicitSelection: z.ZodOptional<z.ZodBoolean>;
    options: z.ZodOptional<z.ZodArray<z.ZodObject<{
        value: z.ZodString;
        label: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        disabled: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strict>>>;
    optionsSourceId: z.ZodOptional<z.ZodString>;
    visibleWhen: z.ZodOptional<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>;
    requiredWhen: z.ZodOptional<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>;
    disabledWhen: z.ZodOptional<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>;
}, z.core.$strict>;
export type ActionInputFieldHint = z.infer<typeof ActionInputFieldHintSchema>;
export declare const ActionInputHintsSchema: z.ZodObject<{
    title: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    fields: z.ZodDefault<z.ZodArray<z.ZodObject<{
        path: z.ZodString;
        title: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        widget: z.ZodEnum<{
            text: "text";
            textarea: "textarea";
            text_list: "text_list";
            select: "select";
            multiselect: "multiselect";
            toggle: "toggle";
            checkbox: "checkbox";
        }>;
        listSeparator: z.ZodOptional<z.ZodEnum<{
            comma: "comma";
            newline: "newline";
        }>>;
        required: z.ZodOptional<z.ZodBoolean>;
        requireExplicitSelection: z.ZodOptional<z.ZodBoolean>;
        options: z.ZodOptional<z.ZodArray<z.ZodObject<{
            value: z.ZodString;
            label: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            disabled: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$strict>>>;
        optionsSourceId: z.ZodOptional<z.ZodString>;
        visibleWhen: z.ZodOptional<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>;
        requiredWhen: z.ZodOptional<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>;
        disabledWhen: z.ZodOptional<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>;
    }, z.core.$strict>>>;
}, z.core.$strict>;
export type ActionInputHints = z.infer<typeof ActionInputHintsSchema>;
export declare const ActionPromptingSchema: z.ZodObject<{
    voiceHotPath: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strict>;
export type ActionPrompting = z.infer<typeof ActionPromptingSchema>;
export declare const ActionSpecSchema: z.ZodObject<{
    id: z.ZodEnum<{
        "action.spec.search": "action.spec.search";
        "action.spec.get": "action.spec.get";
        "action.options.resolve": "action.options.resolve";
        "session.open": "session.open";
        "session.fork": "session.fork";
        "session.rollback": "session.rollback";
        "session.handoff": "session.handoff";
        "session.spawn_new": "session.spawn_new";
        "session.spawn_picker": "session.spawn_picker";
        "paths.list_recent": "paths.list_recent";
        "machines.list": "machines.list";
        "servers.list": "servers.list";
        "review.engines.list": "review.engines.list";
        "agents.backends.list": "agents.backends.list";
        "agents.models.list": "agents.models.list";
        "session.message.send": "session.message.send";
        "session.stop": "session.stop";
        "session.title.set": "session.title.set";
        "session.model.set": "session.model.set";
        "session.permission_mode.set": "session.permission_mode.set";
        "session.archive": "session.archive";
        "session.unarchive": "session.unarchive";
        "session.status.get": "session.status.get";
        "session.history.get": "session.history.get";
        "session.wait.idle": "session.wait.idle";
        "review.start": "review.start";
        "subagents.plan.start": "subagents.plan.start";
        "subagents.delegate.start": "subagents.delegate.start";
        "voice_agent.start": "voice_agent.start";
        "execution.run.start": "execution.run.start";
        "execution.run.list": "execution.run.list";
        "execution.run.get": "execution.run.get";
        "execution.run.send": "execution.run.send";
        "execution.run.stop": "execution.run.stop";
        "execution.run.action": "execution.run.action";
        "execution.run.wait": "execution.run.wait";
        "session.target.primary.set": "session.target.primary.set";
        "session.target.tracked.set": "session.target.tracked.set";
        "session.list": "session.list";
        "session.activity.get": "session.activity.get";
        "session.messages.recent.get": "session.messages.recent.get";
        "session.permission.respond": "session.permission.respond";
        "session.user_action.answer": "session.user_action.answer";
        "session.mode.set": "session.mode.set";
        "ui.voice_global.reset": "ui.voice_global.reset";
        "ui.voice_agent.teleport": "ui.voice_agent.teleport";
        "memory.search": "memory.search";
        "memory.get_window": "memory.get_window";
        "memory.ensure_up_to_date": "memory.ensure_up_to_date";
        "prompt_doc.update": "prompt_doc.update";
        "prompt_bundle.update": "prompt_bundle.update";
        "prompt_asset.export": "prompt_asset.export";
        "prompt_registry.install": "prompt_registry.install";
        "approval.request.create": "approval.request.create";
        "approval.request.decide": "approval.request.decide";
    }>;
    title: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    safety: z.ZodEnum<{
        safe: "safe";
        danger: "danger";
    }>;
    placements: z.ZodDefault<z.ZodArray<z.ZodEnum<{
        agent_input_chips: "agent_input_chips";
        session_header: "session_header";
        session_info: "session_info";
        session_action_menu: "session_action_menu";
        command_palette: "command_palette";
        slash_command: "slash_command";
        voice_panel: "voice_panel";
        run_list: "run_list";
        run_card: "run_card";
    }>>>;
    slash: z.ZodOptional<z.ZodObject<{
        tokens: z.ZodArray<z.ZodString>;
    }, z.core.$loose>>;
    bindings: z.ZodOptional<z.ZodObject<{
        voiceClientToolName: z.ZodOptional<z.ZodString>;
        mcpToolName: z.ZodOptional<z.ZodString>;
    }, z.core.$loose>>;
    examples: z.ZodOptional<z.ZodObject<{
        voice: z.ZodOptional<z.ZodObject<{
            argsExample: z.ZodOptional<z.ZodString>;
        }, z.core.$loose>>;
        mcp: z.ZodOptional<z.ZodObject<{
            argsExample: z.ZodOptional<z.ZodString>;
        }, z.core.$loose>>;
    }, z.core.$loose>>;
    prompting: z.ZodOptional<z.ZodObject<{
        voiceHotPath: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strict>>;
    surfaces: z.ZodObject<{
        ui_button: z.ZodBoolean;
        ui_slash_command: z.ZodBoolean;
        voice_tool: z.ZodBoolean;
        voice_action_block: z.ZodBoolean;
        session_agent: z.ZodBoolean;
        mcp: z.ZodBoolean;
        cli: z.ZodBoolean;
    }, z.core.$strict>;
    inputSchema: z.ZodCustom<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
    inputHints: z.ZodOptional<z.ZodObject<{
        title: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        fields: z.ZodDefault<z.ZodArray<z.ZodObject<{
            path: z.ZodString;
            title: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            widget: z.ZodEnum<{
                text: "text";
                textarea: "textarea";
                text_list: "text_list";
                select: "select";
                multiselect: "multiselect";
                toggle: "toggle";
                checkbox: "checkbox";
            }>;
            listSeparator: z.ZodOptional<z.ZodEnum<{
                comma: "comma";
                newline: "newline";
            }>>;
            required: z.ZodOptional<z.ZodBoolean>;
            requireExplicitSelection: z.ZodOptional<z.ZodBoolean>;
            options: z.ZodOptional<z.ZodArray<z.ZodObject<{
                value: z.ZodString;
                label: z.ZodString;
                description: z.ZodOptional<z.ZodString>;
                disabled: z.ZodOptional<z.ZodBoolean>;
            }, z.core.$strict>>>;
            optionsSourceId: z.ZodOptional<z.ZodString>;
            visibleWhen: z.ZodOptional<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>;
            requiredWhen: z.ZodOptional<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>;
            disabledWhen: z.ZodOptional<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>;
        }, z.core.$strict>>>;
    }, z.core.$strict>>;
}, z.core.$loose>;
export type ActionSpec = z.infer<typeof ActionSpecSchema> & Readonly<{
    placements: readonly ActionUiPlacement[];
}>;
export declare const ACTION_SPECS: readonly ActionSpec[];
export declare function listActionSpecs(): readonly ActionSpec[];
export declare function getActionSpec(id: ActionId): ActionSpec;
export declare function isActionSpecSurfacedOn(spec: ActionSpec, surface: keyof ActionSurfaces | null | undefined): boolean;
export declare function listActionSpecsForSurface(surface: keyof ActionSurfaces): readonly ActionSpec[];
export declare function listVoiceToolActionSpecs(): readonly ActionSpec[];
export declare function isVoicePromptHotPathSpec(spec: ActionSpec): boolean;
export declare function listVoicePromptHotPathSpecs(): readonly ActionSpec[];
export declare function listVoiceActionBlockSpecs(): readonly ActionSpec[];
export declare function listVoiceClientToolNames(): readonly string[];
export declare function resolveVoiceClientToolNameAlias(value: string): string | null;
//# sourceMappingURL=actionSpecs.d.ts.map