/** * Mock data + fetch adapters for Storybook sample grids (no API required). */ import type { TPColumnDef, InvoiceDetail } from './types'; import type { PagedResult } from './GenericPaginatedGrid'; import type { ServerFilterDef } from './DynamicFilterBar'; export interface EmployeeRow { id: number; name: string; department: string; costCenter: string; workLocation: string; reportingManager: string; employmentType: string; status: string; joinedOn: string; } /** Columns with long headers + narrow widths to exercise header wrapping in Storybook. */ export declare const employeeColumns: TPColumnDef[]; export declare const employeeFilterDefs: ServerFilterDef[]; export declare const employeeDefaultFilters: Record; export declare function fetchEmployeePage(filters: Record, pageIndex: number, pageSize?: number): Promise>; export interface ProductRow { sku: string; title: string; category: string; price: number; inStock: boolean; } export declare const productColumns: TPColumnDef[]; export declare const productFilterDefs: ServerFilterDef[]; export declare const productDefaultFilters: Record; export declare function fetchProductPage(filters: Record, pageIndex: number, pageSize?: number): Promise>; export interface OrderRow { orderId: string; customer: string; category: string; status: string; priority: string; amount: number; qty: number; orderDate: string; } export declare const orderColumns: TPColumnDef[]; /** * Server filter definitions for the Orders demo grid. * * `multiSelect` chips send comma-separated values in `filterValues` * (e.g. `status: "Pending,Shipped"`). `fetchOrderPage` splits on `","`. * * `defaultVisible: true` — chip appears in the filter bar on first render * without needing `defaultVisibleFilterIds` on the grid component. */ export declare const orderFilterDefs: ServerFilterDef[]; export declare const orderDefaultFilters: Record; export declare function fetchOrderPage(filters: Record, pageIndex: number, pageSize?: number): Promise>; /** * Mock `fetchPage` adapter for `InvoiceGrid` — pure in-memory data, no API * calls. Filters the `ALL_INVOICES` array using the same filter keys * (`FromDate`, `ToDate`, `Division`, `Customer`, `DC`, `ProductCode`) that the * server filter chips already produce, so `InvoiceGrid.tsx` and its Storybook * stories work unchanged. */ export declare function fetchInvoicePage(filters: Record, pageIndex: number, pageSize?: number): Promise>; export interface OrderLineItem { itemId: number; productCode: string; productName: string; quantity: number; unitPrice: number; total: number; } export interface ExpandableOrderRow extends OrderRow { lineItems: OrderLineItem[]; } export declare const expandableOrderColumns: TPColumnDef[]; export declare const expandableOrderFilterDefs: ServerFilterDef[]; export declare const expandableOrderDefaultFilters: Record; export declare function fetchExpandableOrderPage(filters: Record, pageIndex: number, pageSize?: number): Promise>;