import { FC, ReactNode } from 'react'; /** * Footer Link Interface */ export interface FooterLink { /** Unique identifier */ id: string; /** Display label */ label: string; /** URL or path */ href: string; /** Whether it's an external link */ external?: boolean; /** * Brand/product name — never translated. `DynamicFooter` runs every other * label through the i18n service; names like "FluidGrids" or "Botlit" must * render identically in every locale. */ brand?: boolean; /** Custom icon */ icon?: ReactNode; } /** * Footer Column Interface */ export interface FooterColumn { /** Column title */ title: string; /** Links in this column */ links: FooterLink[]; } /** * Compute the desktop grid column count so the brand column (which spans 2 * tracks) and every link column sit on a SINGLE row. * * The previous fixed `lg:grid-cols-5` only fit 3 link columns (2 brand + 3 = 5); * a 4-column footer (Product / Resources / Company / Legal) overflowed the 4th * column onto a second row. Total tracks needed = 2 (brand) + link columns. * * Class strings are returned as literals so the consuming app's Tailwind JIT * (which scans `@burdenoff/fe-libs/dist`) always generates them. */ export declare function footerLgGridColsClass(columnCount: number): string; /** * Social Link Interface */ export interface SocialLink { /** Platform identifier */ id: string; /** Platform name */ label: string; /** URL */ href: string; /** Icon component */ icon: ReactNode; } /** * Footer Props Interface */ export interface FooterProps { /** Product/company logo */ logo?: ReactNode; /** Product/company name */ productName?: string; /** Product tagline */ tagline?: string; /** Footer columns with links */ columns?: FooterColumn[]; /** Social media links */ socialLinks?: SocialLink[]; /** Copyright text (default: current year + company name) */ copyright?: string; /** Version string to display */ version?: string; /** Build info to display */ buildInfo?: string; /** Active context (workspace, project, etc.) */ context?: { workspace?: string; project?: string; [key: string]: string | undefined; }; /** Custom content to render at the bottom */ children?: ReactNode; /** Custom link renderer (for React Router integration) */ renderLink?: (props: { href: string; external?: boolean; children: ReactNode; className?: string; }) => ReactNode; /** * Hide the footer entirely inside installed apps (Capacitor native, * Electron, standalone PWA) — footers are web chrome, replaced by the * native tab bar. Default `true`. */ hideOnInstalledApp?: boolean; } /** * Default footer columns for Burdenoff products */ export declare const DEFAULT_FOOTER_COLUMNS: FooterColumn[]; /** * Default social links for Burdenoff */ export declare const DEFAULT_SOCIAL_LINKS: SocialLink[]; /** * Footer Component * * Professional multi-column footer for marketing pages and app shells. * Features responsive grid layout that adapts from 4 columns on desktop * to 2 columns on tablet to 1 column on mobile. * * Features: * - Multi-column link sections * - Social media links * - Logo/branding area * - Copyright and legal info * - Build version display * - Active context display * - Responsive design * * @example * ```tsx *