export type { FieldType, ResourceField, ResourceCapabilities, ResourceDefinition, ResourceStudioMode, ResourceStudioLayout, ResourceStudioLabels, ResourceStudioView } from './types.js'; export { DEFAULT_CAPABILITIES, resolveCapabilities } from './types.js'; export { fieldsToColumns } from './fieldsToColumns.js'; export { fieldsToSchema } from './fieldsToSchema.js'; import type { Snippet } from 'svelte'; import type { CellNote, ConditionalFormatRule, DataGridColumn, GridSelection } from '../DataGrid/types.js'; import type { BulkAction } from '../../molecules/BulkActionBar/BulkActionBar.svelte'; import { type ResourceDefinition, type ResourceStudioMode, type ResourceStudioLayout, type ResourceStudioLabels, type ResourceStudioView } from './types.js'; interface ResourceStudioProps { resources?: ResourceDefinition[]; activeResourceId?: string; records?: Record[]; totalRecords?: number; loading?: boolean; page?: number; pageSize?: number; query?: string; selection?: GridSelection; notes?: CellNote[]; formatRules?: ConditionalFormatRule[]; modes?: ResourceStudioMode[]; activeMode?: ResourceStudioMode; layout?: ResourceStudioLayout; labels?: ResourceStudioLabels; views?: ResourceStudioView[]; activeViewId?: string; /** Filter `records` locally by the search box. Set false for server-side search. */ clientSearch?: boolean; /** Open / bind the conditional format rules panel. */ formatPanelOpen?: boolean; /** Override bulk dock actions (defaults from capabilities). */ actions?: BulkAction[]; class?: string; toolbar?: Snippet; sidebarItem?: Snippet<[ResourceDefinition, boolean]>; sidebarFooter?: Snippet; detail?: Snippet<[record: Record | null]>; schemaPanel?: Snippet<[ResourceDefinition]>; queryPanel?: Snippet; activityPanel?: Snippet; recordForm?: Snippet<[mode: 'create' | 'edit', record: Record | null]>; empty?: Snippet; dockExtra?: Snippet; cell?: Snippet<[Record, DataGridColumn]>; onresourcechange?: (id: string) => void; onsearch?: (q: string) => void; onpagechange?: (page: number, pageSize: number) => void; onsort?: (columnId: string, dir: 'asc' | 'desc') => void; oncreate?: () => void; oninsert?: (record: Record) => void; onupdate?: (id: string, patch: Record) => void; ondelete?: (ids: string[]) => void; onduplicate?: (ids: string[]) => void; onexport?: (ids: string[] | 'all') => void; onimport?: (file: File) => void; oncelledit?: (id: string, fieldId: string, value: unknown) => void; /** Fired for dock actions not handled built-in (e.g. custom bulk workflow). */ onaction?: (id: string, rowIds: string[]) => void; onselectionchange?: (s: GridSelection) => void; onnoteschange?: (notes: CellNote[]) => void; onformatruleschange?: (rules: ConditionalFormatRule[]) => void; onmodechange?: (mode: ResourceStudioMode) => void; onviewchange?: (viewId: string) => void; onrefresh?: () => void; } declare const ResourceStudio: import("svelte").Component; type ResourceStudio = ReturnType; export default ResourceStudio;