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
*
* ```
*
* @example Custom columns and router integration
* ```tsx
* import { Link } from 'react-router';
*
*