import type { Meta, StoryObj } from "@storybook/react"; import type { LsgDownloadLibraryProps } from "./LsgDownloadLibrary"; interface HarnessProps extends LsgDownloadLibraryProps { /** Story-only: width of the column the library sits in. */ columnWidth?: string; /** Story-only: what the mocked HubSpot submission returns. */ formOutcome?: "success" | "error"; /** Story-only: start with this form already completed in the session. */ startUnlocked?: boolean; /** Story-only: make window.open fail, as a popup blocker would. */ blockPopups?: boolean; } declare const meta: Meta; export default meta; type Story = StoryObj; /** One PDF without a thumbnail — the theme-1 design. */ export declare const SingleItem: Story; export declare const MultipleItems: Story; /** Below 40rem the cards switch to the horizontal layout. */ export declare const NarrowColumn: Story; /** Language dropdown under the button: picking a language swaps the file. */ export declare const MultipleLanguages: Story; /** PDFs and external links open in a new tab; other files download. */ export declare const ExternalAndOpen: Story; /** "Background color: Dark" + "Text color: White" + "Accent color: Tertiary" policy styles. */ export declare const BackgroundTextAndAccent: Story; export declare const SecondaryButton: Story; /** Policy "Download button display: Label" — a text button with the theme's usual styling. */ export declare const LabelButton: Story; /** Theme 2: grey card with a rule beside the button (primary unless an accent is set). */ export declare const Theme2: Story; /** Theme 2 in a narrow column (horizontal cards). */ export declare const Theme2Narrow: Story; /** Theme 3: green title band, thumbnail beside the description. */ export declare const Theme3: Story; /** Theme 2: "Background color: White" + "Accent color: Tertiary" (button, rule, dropdown). */ export declare const Theme2Accent: Story; /** Theme 3: "Background color: Light" + "Text color: Dark" + "Accent color: Tertiary". */ export declare const Theme3Accent: Story; /** Theme 3 with the label button (the design's "DOWNLOAD →"). */ export declare const Theme3Label: Story; /** The first download opens the form; after a (mocked) HubSpot success the file downloads. */ export declare const Gated: Story; /** HubSpot rejects the submission: the dialog stays open showing the error. */ export declare const GatedError: Story; /** The form was already completed this session: downloads go straight through. */ export declare const GatedAlreadyUnlocked: Story; /** window.open blocked after submit: the success panel's button is the fallback. */ export declare const GatedPopupBlocked: Story; /** AEM edit mode: static markup, no dialog, author note. */ export declare const EditMode: Story;