import { z } from "zod"; export declare const DEFAULT_ANNOUNCEMENT_FEED_URL = "https://pages.paperclip.ing/announcements/v1/current.json"; export declare const ANNOUNCEMENT_MANIFEST_MAX_BYTES: number; export declare const ANNOUNCEMENT_IMAGE_MAX_BYTES: number; export declare const ANNOUNCEMENT_ANIMATION_MAX_BYTES: number; export declare const ANNOUNCEMENT_ANIMATION_CSP = "default-src 'none'; style-src 'unsafe-inline'; form-action 'none'; base-uri 'none'"; export declare const ANNOUNCEMENT_APP_ROUTES: readonly ["/dashboard", "/issues", "/projects", "/agents", "/skills", "/apps", "/routines", "/artifacts", "/company/settings"]; export declare const announcementIdSchema: z.ZodString; export declare const announcementActionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"external">; label: z.ZodString; url: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"route">; label: z.ZodString; path: z.ZodEnum<{ "/agents": "/agents"; "/apps": "/apps"; "/artifacts": "/artifacts"; "/company/settings": "/company/settings"; "/dashboard": "/dashboard"; "/issues": "/issues"; "/projects": "/projects"; "/routines": "/routines"; "/skills": "/skills"; }>; }, z.core.$strict>], "kind">; export declare const announcementSchema: z.ZodObject<{ id: z.ZodString; eyebrow: z.ZodString; title: z.ZodString; description: z.ZodString; image: z.ZodOptional>; animation: z.ZodOptional>; secondaryLink: z.ZodOptional; label: z.ZodString; url: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"route">; label: z.ZodString; path: z.ZodEnum<{ "/agents": "/agents"; "/apps": "/apps"; "/artifacts": "/artifacts"; "/company/settings": "/company/settings"; "/dashboard": "/dashboard"; "/issues": "/issues"; "/projects": "/projects"; "/routines": "/routines"; "/skills": "/skills"; }>; }, z.core.$strict>], "kind">>; primaryAction: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"external">; label: z.ZodString; url: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"route">; label: z.ZodString; path: z.ZodEnum<{ "/agents": "/agents"; "/apps": "/apps"; "/artifacts": "/artifacts"; "/company/settings": "/company/settings"; "/dashboard": "/dashboard"; "/issues": "/issues"; "/projects": "/projects"; "/routines": "/routines"; "/skills": "/skills"; }>; }, z.core.$strict>], "kind">; expiresAt: z.ZodOptional; minimumPaperclipVersion: z.ZodOptional; }, z.core.$strict>; export declare const announcementManifestSchema: z.ZodObject<{ schemaVersion: z.ZodLiteral<1>; announcement: z.ZodNullable>; animation: z.ZodOptional>; secondaryLink: z.ZodOptional; label: z.ZodString; url: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"route">; label: z.ZodString; path: z.ZodEnum<{ "/agents": "/agents"; "/apps": "/apps"; "/artifacts": "/artifacts"; "/company/settings": "/company/settings"; "/dashboard": "/dashboard"; "/issues": "/issues"; "/projects": "/projects"; "/routines": "/routines"; "/skills": "/skills"; }>; }, z.core.$strict>], "kind">>; primaryAction: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"external">; label: z.ZodString; url: z.ZodString; }, z.core.$strict>, z.ZodObject<{ kind: z.ZodLiteral<"route">; label: z.ZodString; path: z.ZodEnum<{ "/agents": "/agents"; "/apps": "/apps"; "/artifacts": "/artifacts"; "/company/settings": "/company/settings"; "/dashboard": "/dashboard"; "/issues": "/issues"; "/projects": "/projects"; "/routines": "/routines"; "/skills": "/skills"; }>; }, z.core.$strict>], "kind">; expiresAt: z.ZodOptional; minimumPaperclipVersion: z.ZodOptional; }, z.core.$strict>>; }, z.core.$strict>; export declare const dismissAnnouncementSchema: z.ZodObject<{ companyId: z.ZodString; }, z.core.$strict>; export type AnnouncementAction = z.infer; export type Announcement = z.infer; export type AnnouncementManifest = z.infer; export declare function isAnnouncementEligible(announcement: Announcement, version: string, now?: number): boolean; //# sourceMappingURL=announcements.d.ts.map