import type { IModuleService } from "../../infrastructure/interface/module-service.interface";
import type { ICliInterfaceService } from "../interface/cli-interface-service.interface";
import type { ICommandService } from "../interface/command-service.interface";
import type { IConfigService } from "../interface/config-service.interface";
import type { IConfigPrlint } from "../interface/config/prlint.interface";
import type { IFileSystemService } from "../interface/file-system-service.interface";
import type { IModuleSetupResult } from "../interface/module-setup-result.interface";
import { EPrlintGenerationProvider } from "../../domain/enum/prlint-generation-provider.enum";
import { EPrlintTicketMissingBranchLintBehavior } from "../../domain/enum/prlint-ticket-missing-branch-lint-behavior.enum";
import { EPrlintTicketNormalization } from "../../domain/enum/prlint-ticket-normalization.enum";
import { EPrlintTicketSource } from "../../domain/enum/prlint-ticket-source.enum";
import { PackageJsonService } from "./package-json.service";
export declare class PrlintModuleService implements IModuleService {
    readonly CLI_INTERFACE_SERVICE: ICliInterfaceService;
    readonly COMMAND_SERVICE: ICommandService;
    readonly CONFIG_SERVICE: IConfigService;
    readonly FILE_SYSTEM_SERVICE: IFileSystemService;
    readonly PACKAGE_JSON_SERVICE: PackageJsonService;
    private config;
    constructor(cliInterfaceService: ICliInterfaceService, fileSystemService: IFileSystemService, configService: IConfigService);
    handleExistingSetup(): Promise<boolean>;
    install(): Promise<IModuleSetupResult>;
    readCommaSeparatedList(prompt: string, errorPrompt: string, defaultValue: Array<string>): Promise<Array<string>>;
    readGenerationModel(defaultValue: string): Promise<string>;
    readRetryCount(prompt: string, errorPrompt: string, defaultValue: number): Promise<number>;
    readText(prompt: string, errorPrompt: string, defaultValue: string): Promise<string>;
    resolvePrlintConfig(): Promise<IConfigPrlint>;
    selectGenerationProvider(defaultValue: EPrlintGenerationProvider): Promise<EPrlintGenerationProvider>;
    selectMissingBranchLintBehavior(defaultValue: EPrlintTicketMissingBranchLintBehavior): Promise<EPrlintTicketMissingBranchLintBehavior>;
    selectTicketNormalization(defaultValue: EPrlintTicketNormalization): Promise<EPrlintTicketNormalization>;
    selectTicketSource(defaultValue: EPrlintTicketSource): Promise<EPrlintTicketSource>;
    shouldEnableScripts(): Promise<boolean>;
    shouldEnableTicketIntegration(defaultSource: EPrlintTicketSource): Promise<boolean>;
    shouldInstall(): Promise<boolean>;
    private confirm;
    private createConfigs;
    private displaySetupSummary;
    private findExistingConfigFiles;
    private getDefaultConfig;
    private getDefaultModelByProvider;
    private getPrlintScripts;
    private parseCommaSeparatedList;
    private setupPrlint;
    private setupScripts;
}
//# sourceMappingURL=prlint-module.service.d.ts.map