/**
 * CLI Option Parser
 *
 * Parses command-line arguments compatible with tsc, plus GoodScript-specific --gs* flags
 */
export interface CliOptions {
    files: string[];
    project?: string;
    outDir?: string;
    outFile?: string;
    watch?: boolean;
    noEmit?: boolean;
    sourceMap?: boolean;
    help?: boolean;
    version?: boolean;
    include?: string[];
    exclude?: string[];
    configPath?: string;
    gsTarget?: 'cpp' | 'js' | 'ts' | 'haxe';
    gsMemory?: 'gc' | 'ownership';
    gsCodegen?: boolean;
    gsOptimize?: '0' | '1' | '2' | '3' | 's' | 'z';
    gsTriple?: string;
    gsShowIR?: boolean;
    gsValidateOnly?: boolean;
    gsSkipValidation?: boolean;
    gsDebug?: boolean;
    output?: string;
}
export interface ParsedOptions {
    options: CliOptions;
    errors: string[];
}
/**
 * Parse command-line arguments
 */
export declare function parseArguments(args: string[]): ParsedOptions;
/**
 * Load and merge tsconfig.json settings
 */
export declare function loadTsConfig(projectPath?: string): Partial<CliOptions>;
/**
 * Merge CLI options with tsconfig.json (CLI takes precedence)
 */
export declare function mergeOptions(cliOptions: CliOptions, configPath?: string): CliOptions;
/**
 * Validate and normalize options
 */
export declare function validateOptions(options: CliOptions): string[];
/**
 * Get default values for unspecified options
 */
export declare function applyDefaults(options: CliOptions): CliOptions;
//# sourceMappingURL=options.d.ts.map