import type { AnyElysia } from "elysia";
import * as backendCore from "@fugood/buttress-backend-core";
import { AutodiscoverService } from "./autodiscover";
import type { Config } from "./types";
export { startModelDownload } from "@fugood/buttress-backend-core";
export { processConfig } from "./utils/config";
export declare const checkForUpdates: () => Promise<string | null>;
export declare const compareVersions: (current: string, latest: string) => boolean;
export declare const logUpdateMessage: (latestVersion: string) => void;
export declare const checkAndNotifyUpdates: () => Promise<void>;
export type Backend = typeof backendCore;
export interface StartServerOptions {
	backend?: Backend;
	router?: AnyElysia;
	config: Config;
	enableOpenAICompat?: boolean;
}
export declare const createServer: ({ backend, router, config, enableOpenAICompat }: StartServerOptions) => Promise<{
	app: AnyElysia;
	config: Config;
}>;
export declare const startServer: ({ backend, router, config, enableOpenAICompat }: StartServerOptions) => Promise<{
	app: AnyElysia;
	port: number;
	openaiEnabled: boolean;
	autoDiscover: AutodiscoverService | null;
}>;
