import { File, InvoicingDunningAction, InvoicingDunningScheduleStepPayload, InvoicingSettings } from '@zeniai/client-epic-state'; import { ApiKeyDialogConfig } from '../../settingsPage/Integrations/components/ApiKeyDialog'; import { InvoicingInvoicePreviewLineItem } from '../common/InvoicingInvoicePreview'; export declare const LOGO_SIZE_LIMIT: number; /** Stripe Dashboard payout settings — where the merchant manages their payout bank account. */ export declare const STRIPE_PAYOUT_SETTINGS_URL = "https://dashboard.stripe.com/settings/payouts"; export declare const selectMenuPortalTarget: HTMLElement | null; export declare const INVOICING_SETTINGS_NAV_SECTIONS: readonly [{ readonly id: "payment-destination"; readonly label: string; }, { readonly id: "branding"; readonly label: string; }, { readonly id: "dunning"; readonly label: string; }]; export type InvoicingSettingsNavSectionId = (typeof INVOICING_SETTINGS_NAV_SECTIONS)[number]["id"]; /** @deprecated Use route-based navigation and `INVOICING_SETTINGS_NAV_SECTIONS`. */ export declare const INVOICING_SETTINGS_TABS: readonly [{ readonly id: "payment-destination"; readonly label: string; }, { readonly id: "general"; readonly label: string; }, { readonly id: "integrations"; readonly label: string; }, { readonly id: "dunning"; readonly label: string; }]; export interface DunningStep { action: InvoicingDunningAction; daysAfterDue: string; step: number; } export interface StripeConnectCredentials { api_key: string; publishable_key: string; webhook_secret?: string; } export declare const isDunningAction: (value: string) => value is InvoicingDunningAction; export declare const dunningScheduleFromSettings: (settings?: InvoicingSettings) => DunningStep[]; export declare const dunningScheduleToPayload: (steps: DunningStep[]) => InvoicingDunningScheduleStepPayload[]; export declare const logoFileStubFromSettings: (settings?: InvoicingSettings) => File | undefined; export declare const resolveLogoFile: (settings: InvoicingSettings | undefined, storedLogoFile: File | undefined, localLogoFile: File | undefined) => File | undefined; export declare const trimOrUndefined: (value: string) => string | undefined; export declare const maskStripeKey: (key: string) => string; export declare const isStripeConnectedFromSettings: (settings?: InvoicingSettings) => boolean; export declare const invoicingStripeDialogConfig: ApiKeyDialogConfig; export declare const PREVIEW_LINE_ITEMS: InvoicingInvoicePreviewLineItem[]; export declare const previewTodayISO: () => string; export declare const SettingsPage: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; /** Full-page shell for settings hub and section routes — uses theme grey4 surface. */ export declare const SettingsDetailPage: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & import('react').ClassAttributes & import('react').HTMLAttributes & { theme?: import('@emotion/react').Theme; }, {}, {}>; export declare const SettingsBody: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const SettingsHubContainer: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const SettingsHubSections: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const InlineIntegrationsBlock: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const NarrowColumn: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const ActionSelectWrap: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const DunningDaysInputWrap: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const BrandingLayout: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & { $stacked: boolean; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const BrandingPreviewPanel: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & { $stacked: boolean; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const PreviewPanelLabel: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & import('react').ClassAttributes & import('react').HTMLAttributes & { theme?: import('@emotion/react').Theme; }, {}, {}>; export declare const BrandingFormColumn: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & { $stacked: boolean; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; /** * Occupies the same slot as {@link BrandingFormColumn} when the right side shows * embedded content (the shared Address screen) instead of the form — so the * preview/form column widths stay identical between /branding and its address * sub-route. Forces the embedded content to the panel height (the Address * screen's own container is `height: 100vh`, which would otherwise overflow past * the NavBar); the `> div` child selector out-specifies that without important. */ export declare const BrandingAppContentPanel: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & { $stacked: boolean; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; /** Scrollable body holding the branding form sections (footer stays fixed below). */ export declare const BrandingFormScrollBody: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & { $stacked: boolean; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const SectionCard: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const ScheduleGrid: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const ScheduleHeaderRow: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const ScheduleHeaderCell: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const ScheduleRow: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const ScheduleCell: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const DunningScheduleCard: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & import('react').ClassAttributes & import('react').HTMLAttributes & { theme?: import('@emotion/react').Theme; }, {}, {}>; export declare const CardTitleRow: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const CardHeaderRow: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const CardHeaderTitle: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const CardBodyBlock: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const EmptyStateBlock: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const StripeActionRow: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const MutedSmall: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & import('react').ClassAttributes & import('react').HTMLAttributes & { theme?: import('@emotion/react').Theme; }, {}, {}>; /** Fixed footer at the bottom of the branding form column (Reset/Save). */ export declare const BrandingFormFooter: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const LogoFieldContainer: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const IntegrationsGrid: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; }, import('react').DetailedHTMLProps, HTMLDivElement>, {}>; export declare const ColumnHelpText: import('@emotion/styled').StyledComponent<{ theme?: import('@emotion/react').Theme; as?: React.ElementType; } & import('react').ClassAttributes & import('react').HTMLAttributes & { theme?: import('@emotion/react').Theme; }, {}, {}>;