interface RepositoryInput {
    name: string;
    localPath: string;
    enabled: boolean;
}
export interface RepositoryConfig {
    name: string;
    platform: 'gitlab' | 'github';
    remoteUrl: string;
    localPath: string;
    skill: string;
    enabled: boolean;
}
export interface ServerConfig {
    port: number;
}
export interface UserConfig {
    gitlabUsername: string;
    githubUsername: string;
}
export interface QueueConfig {
    maxConcurrent: number;
    deduplicationWindowMs: number;
    jobHistoryRetentionDays: number;
}
export type TriggerMode = 'full-auto' | 'semi-auto';
export interface Config {
    server: ServerConfig;
    user: UserConfig;
    queue: QueueConfig;
    repositories: RepositoryConfig[];
    triggerMode: TriggerMode;
}
export interface EnvSecrets {
    gitlabWebhookToken: string;
    githubWebhookSecret: string;
}
export declare function normalizeGitUrl(url: string): string;
export declare function enrichSingleRepository(input: RepositoryInput): RepositoryConfig;
export declare function validateAndEnrichConfig(data: unknown): Config;
export declare function resolveActiveConfigPath(): string;
export declare function loadConfig(): Config;
export declare function loadEnvSecrets(): EnvSecrets;
export declare function findRepositoryByRemoteUrl(remoteUrl: string): RepositoryConfig | undefined;
export declare function findRepositoryByProjectPath(projectPath: string): RepositoryConfig | undefined;
export {};
//# sourceMappingURL=configLoader.d.ts.map