import { KeyboardEvent, FocusEvent, CSSProperties } from 'react'; export interface JsonSchemaProperty { type: string; description?: string; properties?: Record; items?: JsonSchemaProperty; [key: string]: any; } export interface JsonSchema { $schema?: string; $id?: string; title?: string; type: string; properties?: Record; required?: string[]; additionalProperties?: boolean; examples?: any[]; [key: string]: any; } export interface LiquidFilterParameter { name: string; type: string; required: boolean; default?: any; description: string; } export interface LiquidFilterExample { input: string; output: string; } export interface LiquidFilter { name: string; description: string; applicableTypes: string[]; parameters: LiquidFilterParameter[]; returnType: string; examples: LiquidFilterExample[]; } export interface LiquidFiltersConfig { filters: LiquidFilter[]; } export interface ParsedLiquidFilter { name: string; parameters?: string; } export interface ParsedLiquidExpression { variable: string; filters: ParsedLiquidFilter[]; startIndex: number; endIndex: number; fullText: string; } export interface Entity { type: "text" | "liquid"; offset: number; length: number; } export interface LiquidEditorProps { value: string; onChange: (value: string) => void; onBlur?: (event: FocusEvent) => void; onKeyDown?: (event: KeyboardEvent) => void; placeholder?: string; style?: CSSProperties; className?: string; multiline?: boolean; maxHeight?: number | string; minHeight?: number | string; maxWidth?: number | string; minWidth?: number | string; jsonSchema?: JsonSchema; liquidFilters?: LiquidFiltersConfig; } export interface AutocompleteOption { name: string; path: string; description?: string; type: string; isFilter?: boolean; filter?: LiquidFilter; } export interface BuildingExpression { variable: string; filters: ParsedLiquidFilter[]; startIndex: number; isSelectingVariable: boolean; isAddingFilter: boolean; } //# sourceMappingURL=types.d.ts.map