filetomarkdown
Version:
Convert various file types to markdown format with browser and Node.js support
79 lines (67 loc) • 1.85 kB
TypeScript
// Type definitions for FileToMarkdown CLI tools
// Command-line interface types and argument parsing
export interface CliOptions {
input?: string;
output?: string;
help?: boolean;
version?: boolean;
verbose?: boolean;
format?: string;
}
export interface ConvertCliArgs {
inputFile: string;
outputFile?: string;
}
export interface ServerCliArgs {
port?: number;
host?: string;
cors?: boolean;
uploadDir?: string;
}
export interface TestCliArgs {
github?: boolean;
verbose?: boolean;
format?: string;
}
export interface ViewerCliArgs {
file?: string;
port?: number;
browser?: boolean;
}
// CLI Result types
export interface CliResult {
success: boolean;
message?: string;
error?: string;
exitCode: number;
}
export interface ConversionResult extends CliResult {
inputPath?: string;
outputPath?: string;
fileSize?: number;
conversionTime?: number;
}
// CLI Command handlers
export type CliCommandHandler<T = any> = (args: T) => Promise<CliResult>;
export interface CliCommand {
name: string;
description: string;
usage: string;
handler: CliCommandHandler;
examples?: string[];
}
// Argument parsing utilities
export interface ParsedArgs {
command?: string;
options: CliOptions;
positional: string[];
}
export declare function parseArgs(argv: string[]): ParsedArgs;
export declare function showHelp(command?: string): void;
export declare function showVersion(): void;
// Main CLI functions
export declare function runConvertCli(): Promise<CliResult>;
export declare function runServerCli(): Promise<CliResult>;
export declare function runTestCli(): Promise<CliResult>;
export declare function runViewerCli(): Promise<CliResult>;
export declare function runFileTypesCli(): Promise<CliResult>;