export interface RawConfig {
    [key: string]: string;
}
export interface ProjectConfig {
    PROJECT_NAME: string;
    PROJECT_DIR?: string;
    GITLAB_PROJECT: string;
    GITLAB_PROJECT_ID: string;
    GITLAB_MERGE_BRANCH: string;
    PM_TOOL: 'markdown';
    PIPELINE_LABEL?: string;
    MR_MODE: 'none' | 'create';
    WORKER_TRANSPORT: 'acp-sdk';
    MAX_CONCURRENT_WORKERS: number;
    WORKER_RESTART_LIMIT: number;
    MAX_ACTIONS_PER_TICK: number;
    WORKER_LAUNCH_TIMEOUT_S: number;
    WORKER_IDLE_TIMEOUT_M: number;
    INPROGRESS_TIMEOUT_HOURS: number;
    MONITOR_AUTO_QA: boolean;
    CONFLICT_DEFAULT: 'serial' | 'parallel';
    TICK_LOCK_TIMEOUT_MINUTES: number;
    WORKER_ACK_TIMEOUT_S: number;
    WORKER_ACK_MAX_RETRIES: number;
    WORKTREE_DIR?: string;
    raw: RawConfig;
}
/**
 * Resolve the worker transport for SPS workflow execution.
 * Always returns 'acp-sdk' — the only supported transport.
 * Legacy 'acp' alias is mapped to 'acp-sdk'.
 */
export declare function resolveWorkflowTransport(_config: ProjectConfig): 'acp-sdk';
export declare function loadGlobalEnv(): RawConfig;
export declare function loadProjectConf(projectName: string): ProjectConfig;
export declare function validateConfig(config: ProjectConfig): {
    field: string;
    message: string;
}[];
/**
 * Resolve GITLAB_PROJECT_ID from GITLAB_PROJECT path via GitLab API.
 * Called lazily when the ID is needed but not configured.
 * Results are cached per GITLAB_PROJECT path.
 */
export declare function resolveGitlabProjectId(config: ProjectConfig): string;
//# sourceMappingURL=config.d.ts.map