import { z } from 'zod';
import { type InferProvider } from './capability-definition.js';
/**
 * toast — system-scoped singleton capability that streams toast
 * notifications from the hub to connected admin-UI clients.
 *
 * Single push subscription (`onToast`). The provider lives in the
 * server's `ToastService` (always available after boot) and is
 * registered from `trpc.router.ts` against that service. No addon
 * owns this state — toasts are server-broadcasted side-effects of
 * other admin actions.
 *
 * Phase E of the API consolidation: previously a hand-written core
 * router (re-introduced after a brief detour as a cap years ago).
 * Cap conversion unifies the codegen pipeline so admin-ui consumers
 * pick up the standard `useToastOnToast` hook through the same
 * generator that emits every other system-cap subscription wrapper.
 */
declare const ToastSchema: z.ZodObject<{
    title: z.ZodString;
    message: z.ZodString;
    severity: z.ZodEnum<{
        info: "info";
        warning: "warning";
        critical: "critical";
    }>;
    duration: z.ZodOptional<z.ZodNumber>;
    action: z.ZodOptional<z.ZodObject<{
        label: z.ZodString;
        url: z.ZodString;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const toastCapability: {
    readonly name: "toast";
    readonly scope: "system";
    readonly mode: "singleton";
    readonly methods: {
        readonly onToast: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodObject<{
            title: z.ZodString;
            message: z.ZodString;
            severity: z.ZodEnum<{
                info: "info";
                warning: "warning";
                critical: "critical";
            }>;
            duration: z.ZodOptional<z.ZodNumber>;
            action: z.ZodOptional<z.ZodObject<{
                label: z.ZodString;
                url: z.ZodString;
            }, z.core.$strip>>;
        }, z.core.$strip>, "subscription">;
    };
};
export type IToastProvider = InferProvider<typeof toastCapability>;
export { ToastSchema };
//# sourceMappingURL=toast.cap.d.ts.map