import React from 'react';
import { type FilterGroup, type SortConfig, type SortDirection } from '../ui/filter-modal';
import type { TableFilters } from '../ui/table/types';
import { type PageActionButton } from './page-container';
export interface ListPageLayoutProps {
    title: string;
    headerActions?: React.ReactNode;
    actions?: PageActionButton[];
    searchPlaceholder: string;
    searchValue: string;
    onSearch: (term: string) => void;
    children: React.ReactNode;
    error?: string | null;
    className?: string;
    padding?: 'none' | 'sm' | 'md' | 'lg';
    background?: 'default' | 'card' | 'transparent';
    mobileFilterGroups?: FilterGroup[];
    onMobileFilterChange?: (filters: TableFilters) => void;
    currentMobileFilters?: TableFilters;
    mobileSortConfig?: SortConfig;
    onMobileSort?: (column: string, direction: SortDirection) => void;
    mobileFilterTitle?: string;
    stickyHeader?: boolean;
}
/**
 * @deprecated Use `PageLayout` from `'../layout/page-layout'` instead.
 *
 * Standardized Layout for List Pages
 *
 * A comprehensive layout component that provides 100% consistent structure
 * for all list-based pages throughout the OpenFrame application.
 *
 * ## Layout Structure:
 * ```
 * ┌─────────────────────────────────────────────────────────────┐
 * │ Title (left aligned)    │    Header Actions (right aligned) │
 * ├─────────────────────────────────────────────────────────────┤
 * │                 Search Bar (full width)                    │
 * ├─────────────────────────────────────────────────────────────┤
 * │                Table/Grid with Filters                     │
 * │                    (main content)                          │
 * └─────────────────────────────────────────────────────────────┘
 * ```
 *
 * ## Key Features:
 * - **Consistent Spacing**: All pages use identical padding and gaps
 * - **Responsive Design**: Works seamlessly across all screen sizes
 * - **Accessibility**: Proper semantic HTML and ARIA support
 * - **Error Handling**: Built-in error state display
 * - **Flexible Actions**: Supports any combination of buttons/controls
 * - **Search Integration**: Standardized search bar positioning
 *
 * ## Currently Used By:
 * - `/devices` - Device management with table/grid toggle
 * - `/logs-page` - Log analysis with refresh functionality
 * - `/scripts` - Script management with new/refresh actions
 * - `/mingo` tabs - Archive/current chats with filtering
 * - `/policies-and-queries` tabs - Policy management with refresh/new actions
 *
 * ## Design Tokens:
 * - Uses ODS design system tokens for consistent theming
 * - Maintains proper contrast ratios and accessibility standards
 * - Supports both light and dark mode themes
 *
 * ## Performance:
 * - Minimal re-renders through proper prop drilling
 * - Optimized for large datasets with virtualization support
 * - Built-in debouncing for search operations
 *
 * @example
 * ```tsx
 * <ListPageLayout
 *   title="My Data"
 *   headerActions={<Button>Refresh</Button>}
 *   searchPlaceholder="Search items..."
 *   searchValue={searchTerm}
 *   onSearch={setSearchTerm}
 *   error={error}
 * >
 *   <Table data={items} columns={columns} />
 * </ListPageLayout>
 * ```
 */
export declare function ListPageLayout({ title, headerActions, actions, searchPlaceholder, searchValue, onSearch, children, error, className, padding, background, mobileFilterGroups, onMobileFilterChange, currentMobileFilters, mobileSortConfig, onMobileSort, mobileFilterTitle, stickyHeader, }: ListPageLayoutProps): import("react/jsx-runtime").JSX.Element;
export type { PageActionButton } from './page-container';
/** @deprecated Use `PageLayout` from `'../layout/page-layout'` instead. */
export default ListPageLayout;
//# sourceMappingURL=list-page-layout.d.ts.map