import * as react_jsx_runtime from 'react/jsx-runtime'; import { ReactNode } from 'react'; import { a as LayoutControlSize, b as LayoutComponentProps } from './types-BGvHRBHG.mjs'; import { Layouts, SectionNameFor } from '@medusajs/admin-shared'; import { T as TableAdapter } from './table-adapters-DnG5KPvi.mjs'; import '@medusajs/types'; import '@medusajs/ui'; type LayoutEntryProps = { /** Stable identity for this entry. Survives component renames and minification. */ id: string; children: ReactNode; }; /** * Pins a stable identity to a layout entry. Use this to wrap sections whose * component name is unstable (subject to rename or minification), ensuring * any saved user preferences survive refactors. */ declare function LayoutEntry({ children }: LayoutEntryProps): react_jsx_runtime.JSX.Element; declare namespace LayoutEntry { var displayName: string; } type LayoutComposerProps$1 = { /** * The prefix used to derive widget injection zones, typically corresponds to the page. * E.g. `"login"`, `"product.list"`, `"product.details"` etc. */ widgetsZonePrefix: string; /** * The id of the layout that should be used to render the page. E.g `"core:two-column"` or `"core:single-column"`. */ preferredLayoutId: TLayoutId; /** * The content to render in each section of the layout, keyed by the * section names valid for `preferredLayoutId`. */ sections: Record, ReactNode>; /** * Data passed to the layout components(core + widgets) as props */ data?: TData; /** * Whether to render an `Outlet` after the layout, used to render modals such as drawers and dialogs. * * @default true */ hasOutlet?: boolean; /** * Stable id of the host this composer customizes (see `CUSTOMIZE_IDS`). The * central `CustomizerMenu` lists it and, when chosen, drives this composer * into edit mode. Composers for different hosts must use distinct ids; only * one composer per id is mounted at a time. * * @default CUSTOMIZE_IDS.PAGE */ customizeId?: string; /** * Visual density of each entry's edit-mode overlay. * @default "default" */ controlSize?: LayoutControlSize; /** * Skip widget injection zones entirely: no registered widgets are resolved * for `widgetsZonePrefix`, so only the core `sections` entries are composed. * Used by surfaces that are purely reorderable nav (e.g. the sidebars) where * extensions shouldn't inject content. * * @default false */ disableWidgets?: boolean; /** * Optional props to pass to the layout component. */ layoutProps?: Omit; }; type DataTableActionProps = { label: string; disabled?: boolean; } & ({ to: string; } | { onClick: () => void; }); interface ConfigurableDataTableProps { adapter: TableAdapter; heading?: string; subHeading?: string; pageSize?: number; queryPrefix?: string; layout?: "fill" | "auto"; actions?: DataTableActionProps[]; } declare function ConfigurableDataTable({ adapter, heading, subHeading, pageSize: pageSizeProp, queryPrefix: queryPrefixProp, layout, actions, }: ConfigurableDataTableProps): react_jsx_runtime.JSX.Element; type LayoutComposerProps = Omit, "customizeId" | "controlSize">; declare const LayoutComposer: (({ widgetsZonePrefix, preferredLayoutId, sections, data, hasOutlet, disableWidgets, }: LayoutComposerProps) => react_jsx_runtime.JSX.Element) & { Entry: typeof LayoutEntry; }; export { ConfigurableDataTable, type ConfigurableDataTableProps, LayoutComponentProps, LayoutComposer };