import { CrossbowConfiguration } from "./config"; import { CrossbowInput, CLI, CrossbowReporter } from "./index"; import Rx = require("rx"); import * as file from "./file.utils"; import { ExternalFile } from "./file.utils"; export declare enum InitConfigFileErrorTypes { InitInputFileExists, InitInputFileTypeNotSupported, } export interface InitConfigError { type: InitConfigFileErrorTypes; } export interface InitConfigFileExistsError extends InitConfigError { file: file.ExternalFile; } export interface InitConfigFileTypeNotSupported extends InitConfigError { providedType: InitConfigFileTypes; supportedTypes: {}; } export interface InitCommandOutput { existingFilesInCwd: ExternalFile[]; matchingFiles: ExternalFile[]; errors: InitConfigError[]; outputFilePath?: string; outputFileName?: string; templateFilePath?: string; } export declare type InitCommandComplete = Rx.Observable<{ setup: InitCommandOutput; }>; export declare enum InitConfigFileTypes { yaml, js, json, cbfile, } export default function handleIncomingInitCommand(cli: CLI, input: CrossbowInput, config: CrossbowConfiguration, reporter: CrossbowReporter): Rx.Observable<{ setup: InitCommandOutput; }>;