import type { NetworkOutputType, OutputType, ProgramOptions, TcpFramingMethod, TemplateMode } from "./types.js";
export declare function isString(value: unknown): value is string;
export declare function isNonNullObject(value: unknown): value is Record<string, unknown>;
export declare function isTemplateMode(value: unknown): value is TemplateMode;
export declare function isOutputType(value: unknown): value is OutputType;
export declare function isNetworkOutputType(value: unknown): value is NetworkOutputType;
export declare function isTcpFramingType(value: unknown): value is TcpFramingMethod;
export declare function parseString(value: unknown): string | undefined;
export declare function parseNonNaNInteger(value: unknown): number | undefined;
export declare function parseNonNaNFloat(value: unknown): number | undefined;
export declare function parseDate(value: unknown): Date | undefined;
export declare function parseAndResolveFilePath(value: unknown, basePath: string): string | undefined;
export declare function tryReadFile(path: string): Promise<string>;
export declare function normalizeProgramOptions(possibleProgramOptions: unknown, basePath: string): ProgramOptions | undefined;
export declare function determineTemplateModeByFile(filePath: string): TemplateMode;
export declare function pickFirst<T>(input: T | T[] | undefined): T | undefined;
export declare function pickMany<T>(input: T | T[] | undefined): T[];
export declare function assertNever(x: never): never;
