import { TabItemProps, TabProps } from "@lifesg/react-design-system/tab"; import { TComponentOmitProps, TFrontendEngineFieldSchema } from "../../frontend-engine"; import { IBaseElementSchema } from "../types"; import { TWrapperSchema } from "../wrapper"; import { TFieldEventListener } from "../../../utils"; type TTabProps = Pick; export type ITabEventDetails = { previousTabId: string; currentTabId: string; }; export interface ITabSchema extends IBaseElementSchema<"tab">, TComponentOmitProps, TTabProps { children: Record>; currentActiveTabId?: string | undefined; } type TTabItemProps = Pick; export interface ITabItemSchema extends IBaseElementSchema<"tab-item">, TComponentOmitProps, TTabItemProps { children: Record>; title: string; } /** fired when active tab changes (semantic event: "change", not raw "click") */ declare function tabChangeEvent(uiType: "tab", type: "change", id: string, listener: TFieldEventListener, options?: boolean | AddEventListenerOptions | undefined): void; export type TTabEvents = typeof tabChangeEvent; export {};