import type { SqlfuConfig, SqlfuProjectConfig } from './types.js'; import { createDefaultInitPreview } from './init-preview.js'; export { createDefaultInitPreview }; export declare function defineConfig(config: SqlfuConfig): SqlfuConfig; export type TsconfigPreferences = { prefersTsImportExtensions?: boolean; }; export declare function resolveProjectConfig(fileConfig: SqlfuConfig, configPath: string, tsconfigPreferences?: TsconfigPreferences): SqlfuProjectConfig; export declare function inferImportExtension(tsconfigPreferences: TsconfigPreferences): '.js' | '.ts'; export declare function assertConfigShape(configPath: string, config: object): asserts config is SqlfuConfig; export type LoadedSqlfuProject = { initialized: true; projectRoot: string; configPath: string; config: SqlfuProjectConfig; } | { initialized: true; projectRoot: string; configPath: string; inline: { modulePath: string; }; } | { initialized: false; projectRoot: string; configPath: string; }; /** * The UI server deliberately serves uninitialized directories (it has an init * flow), but an inline defineConfig module would start a server whose every * request fails — `serve` rejects those up front like the other non-inline * commands. */ export declare function assertServableProject(project: LoadedSqlfuProject): void;