import * as React from 'react'; import { IconProps } from '@components/Icon'; export interface HackathonCardProps { /** The name of the hackathon. Displayed as the title of the card. */ name: string; /** The hackathon's tagline. */ tagline: string; /** The hackathon's slug. Sent along with the onApplyNowClick callback. */ slug: string; /** Location of the hackathon. (Displayed if the hackathon is happening offline). */ location?: string; /** Indicates whether the hackathon is happening online or offline. */ online?: boolean; /** The hackathon's time period. */ runsFrom: string; /** Hackathon's user rating. */ rating?: number; application: { /** The label to be displayed for the current hackathon state. */ label: 'Applications Open' | 'Applications Close In' | 'Applications Closed' | 'Hackathon starts'; /** Gives us the freedom to render a countdown timer based on the state of the application. */ contents: React.ReactNode; }; /** Social links of the hackathon. */ links: { /** The link type. Mapped to the keys received in hackathon-settings via API. */ name: 'site' | 'subdomain' | 'twitter' | 'facebook' | 'telegram' | 'discord' | 'medium' | 'instagram' | 'slack'; /** Link URL */ url: string; /** The icon to be displayed on the button. */ icon: IconProps['name']; }[]; /** A callback for when the Apply Now button is clicked. */ onApplyNowClick: (slug: string) => void; } /** * A hackathon card to serve as an editorial block which prompts an apply to hackathon action * while the applications are open. * * {@link https://www.figma.com/file/DXSbv3DBensR10TFuzq2Zu/App?node-id=644%3A63073 Figma} */ declare const HackathonCard: ({ name, tagline, slug, online, location, runsFrom, rating, links, application, onApplyNowClick, }: HackathonCardProps) => JSX.Element; export default HackathonCard;