import { ThemingProps } from "../theme/types.js";
import { BoxProps } from "../box/box.types.js";
import "../box/index.js";
import { JSX } from "react";

//#region src/footer/footer.types.d.ts
/** Column consists of one ore more sections with a heading and links. */
type FooterColumnData = FooterSectionData[];
type FooterColumnProps = BoxProps & {
  /** Data structure for sections and links */sections?: FooterSectionData[];
};
type FooterColumnsProps = BoxProps & {
  columns?: FooterColumnData[];
};
type FooterContentProps = BoxProps;
type FooterContext = Pick<FooterProps, 'size' | 'variant'>;
/** Link includes the label text and URL address. */
type FooterLinkData = {
  /** Unique name that identifies a link in the links dictionary. */id?: string;
  text: string;
  url?: string;
  target?: '_blank' | '_self' | '_parent' | '_top';
  items?: FooterLinkData[];
};
type FooterProps = Omit<BoxProps, 'size' | 'variant'> & ThemingProps<'Footer'> & Pick<FooterTrademarkProps, 'linkedIn'> & {
  applicationLinks?: FooterLinkData[];
  applicationSocialLinks?: FooterLinkData[];
  applicationStaticItems?: string[]; /** Data defining content of multiple columns. */
  columns?: FooterColumnData[];
  isApplication?: boolean;
  isSlim?: boolean;
  isDNV?: boolean;
};
type ApplicationFooterProps = Omit<FooterProps, 'isApplication' | 'isSlim'> & {};
/** Section consists of multiple links with text (label) and url */
type FooterSectionData = {
  heading?: string; /** Array of objects defining each link. */
  links?: FooterLinkData[];
};
type FooterSectionProps = BoxProps & {
  /** Socket for a heading on top of the section. */heading?: FooterSectionData['heading'] | JSX.Element; /** Socket for a list of links below the heading. */
  links?: FooterSectionData['links'] | JSX.Element;
};
type FooterTrademarkProps = BoxProps & {
  /** Url provided to the LinkedIn icon in the Trademark section. */linkedIn?: string;
};
//#endregion
export { ApplicationFooterProps, FooterColumnData, FooterColumnProps, FooterColumnsProps, FooterContentProps, FooterContext, FooterLinkData, FooterProps, FooterSectionData, FooterSectionProps, FooterTrademarkProps };

//# sourceMappingURL=footer.types.d.ts.map