import type { ButtonPresentationProps, EditableNodeAttributes, FooterColumn } from "../types"; import type { ResolvedImage } from "../utils/resolveConfig"; import { type ResponsiveValue } from "../utils/responsivePresentation"; import { type StudioImageSource } from "./StudioImage"; export interface FooterImage { image: StudioImageSource; alt?: string; } export interface FooterBrand { logo?: StudioImageSource; logoAlt?: string; marks?: FooterImage[]; } export interface FooterAddress { heading?: string; headingPosition?: "before" | "after"; lines?: string[]; } export interface FooterContact { kind: "phone" | "fax" | "email" | "text"; label?: string; value: string; href?: string; } export interface FooterAction extends ButtonPresentationProps { label: string; href?: string; openInNewTab?: boolean; downloadAsset?: ResolvedImage | string | null; downloadFilename?: string; } export interface FooterLegalLink { label: string; to: string; openInNewTab?: boolean; } export interface FooterLegal { lines?: string[]; links?: FooterLegalLink[]; } export interface PropertyFooterLayout { contentMaxWidth?: string; mainPaddingX?: string; mainPaddingTop?: string; mainPaddingBottom?: string; legalPaddingX?: string; legalPaddingY?: string; sectionGap?: string; brandGap?: string; contactGap?: string; actionGap?: string; badgeGap?: string; badgeMarginTop?: string; logoWidth?: string; markWidth?: string; badgeMaxWidth?: string; badgeMaxHeight?: string; columnWeights?: number[]; badgeAlignment?: "flow" | "bottom"; } export type ResponsivePropertyFooterLayout = ResponsiveValue; interface FooterProps extends EditableNodeAttributes { columns?: FooterColumn[]; presentation?: "columns" | "property"; logo?: StudioImageSource; copyright?: string; brand?: FooterBrand; address?: FooterAddress; contacts?: FooterContact[]; actions?: FooterAction[]; badges?: FooterImage[]; legal?: FooterLegal; propertyLayout?: PropertyFooterLayout; responsivePropertyLayout?: ResponsivePropertyFooterLayout; className?: string; } export declare function Footer({ columns, presentation, logo, copyright, brand, address, contacts, actions, badges, legal, propertyLayout, responsivePropertyLayout, className, "data-node-id": dataNodeId, }: FooterProps): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=Footer.d.ts.map