import { default as React } from 'react';
export interface WorkspaceFilterShellPagination {
    /** 1-indexed current page. */
    page: number;
    /** Items per page. */
    pageSize: number;
    /** Total number of items across ALL pages (pre-slice). */
    totalItems: number;
    /** Called with the 1-indexed page to move to. */
    onPageChange: (page: number) => void;
}
export interface WorkspaceFilterShellProps {
    /** Metrics summary slot — typically a `<MetricsAccordion/>`. Omit to hide. */
    metrics?: React.ReactNode;
    /** Section-navigation slot — typically a `<Tabs appearance="chips"/>`. Sits
     *  directly above the sub-nav/filter with a deliberately tight gap. Omit to hide. */
    nav?: React.ReactNode;
    /** Secondary / sub-navigation slot — a second `<Tabs appearance="chips"/>`
     *  row rendered directly beneath `nav` (e.g. Monitoring / Polling within a
     *  section). Optional, so it changes and disappears per active tab. */
    subNav?: React.ReactNode;
    /** Filter slot — typically a `<FilterSection surface/>`. Rendered as the head
     *  of the content region so it integrates with the cards below. Omit to hide. */
    filter?: React.ReactNode;
    /** Card / list / grid content area. */
    children?: React.ReactNode;
    /** Built-in pagination, rendered BELOW the content (the cards). Give it the
     *  1-indexed page + page size + total item count and it renders the
     *  Prev / numbered / Next control, hidden automatically when there is only one
     *  page. You still slice your own data
     *  (`items.slice((page - 1) * pageSize, page * pageSize)`) — the shell owns
     *  the control, you own the data. */
    pagination?: WorkspaceFilterShellPagination;
    /** Visual theme — surfaced as `data-theme` for CSS overrides. Default
     *  `'sacred'`. (The shell has no themed chrome of its own today; the attribute
     *  is forwarded so future themed containment can hook in without an API change.) */
    styles?: {
        theme?: 'sacred' | 'light' | 'dark';
    };
    /** Escape hatch — extra className merged onto the shell root. */
    className?: string;
    /** Escape hatch — inline style merged onto the shell root. */
    style?: React.CSSProperties;
    /** Stable test selector — surfaced as `data-workspace-shell-field`. */
    dataField?: string;
}
export declare const WorkspaceFilterShell: React.FC<WorkspaceFilterShellProps>;
export default WorkspaceFilterShell;
//# sourceMappingURL=index.d.ts.map