import type { ValidateFunction } from 'ajv'; import type { LuzzleSelectable } from '../database/tables/index.js'; import type { PieceFrontmatter, PieceFrontmatterSchema } from './utils/frontmatter.js'; import type { PieceMarkdown } from './utils/markdown.js'; import type LuzzleStorage from '../storage/abstract.js'; import Piece from './Piece.js'; import type { PieceManagerSelect } from '../database/tables/pieces_manager.schema.js'; export type PieceValidator = ValidateFunction; export declare function makeValidator(): PieceValidator; export type MockSchemaProperty = { type?: string; nullable?: boolean; items?: MockSchemaProperty; format?: string; pattern?: string; enum?: string[] | number[]; properties?: Record; required?: string[]; examples?: unknown[]; default?: unknown; }; export declare function makeSchema(propertiesOrName?: string | Record): PieceFrontmatterSchema; export declare function makeStorage(root?: string): LuzzleStorage; export declare function makeFrontmatterSample(overrides?: Record): PieceFrontmatter; export declare function makeMarkdownSample(filePathOrOptions?: string | Partial>, piece?: string, note?: string, frontmatter?: F): PieceMarkdown; export declare function makePieceItemSelectable(overrides?: Partial>): LuzzleSelectable<'pieces_items'>; export declare class PieceMock extends Piece { constructor(name?: string, storage?: LuzzleStorage, schema?: PieceFrontmatterSchema); } export declare function makePieceMock(): typeof PieceMock; export declare function makeRegisteredPiece(overrides?: Partial): { id: string; date_added: number; date_updated: number | null; name: string; schema: PieceFrontmatterSchema; };