import { type DiscoveredRepository, type DiscoverRepositoriesResult } from '../../modules/cli-configuration/usecases/cli/discoverRepositories.usecase.js';
import { type ConfigureMcpResult } from '../../modules/cli-configuration/usecases/cli/configureMcp.usecase.js';
import { type WriteInitConfigInput, type WriteInitConfigResult } from '../../modules/cli-configuration/usecases/cli/writeInitConfig.usecase.js';
import { type PrerequisitesResult } from '../../modules/cli-configuration/usecases/cli/checkInitPrerequisites.js';
import { type InitSummaryInput } from '../../cli/formatters/initSummary.js';
export type PlatformChoice = 'gitlab' | 'github' | 'both';
export interface InitDependencies {
    log: (...args: unknown[]) => void;
    exit: (code: number) => void;
    getConfigDir: () => string;
    existsSync: (path: string) => boolean;
    checkPrerequisites: () => PrerequisitesResult;
    confirmOverwrite: (configPath: string) => Promise<boolean>;
    promptPlatform: () => Promise<PlatformChoice>;
    promptPort: () => Promise<number>;
    promptGitlabUsername: () => Promise<string>;
    promptGithubUsername: () => Promise<string>;
    confirmScanRepositories: () => Promise<boolean>;
    selectRepositories: (repos: DiscoveredRepository[]) => Promise<DiscoveredRepository[]>;
    generateWebhookSecret: () => string;
    truncateSecret: (secret: string, length: number) => string;
    discoverRepositories: (scanPaths: string[], maxDepth: number) => DiscoverRepositoriesResult;
    configureMcp: () => ConfigureMcpResult;
    writeConfig: (input: WriteInitConfigInput) => WriteInitConfigResult;
    formatSummary: (input: InitSummaryInput) => string;
}
export declare function executeInit(yes: boolean, skipMcp: boolean, showSecrets: boolean, scanPaths: string[], deps: InitDependencies): Promise<void>;
export declare function createInitDependencies(getGitRemoteUrl: (localPath: string) => string | null): InitDependencies;
//# sourceMappingURL=init.command.d.ts.map