/**
 * Workspace Config (config.json) Management
 *
 * Reads and writes settings from .proletariat/config.json.
 * This is distinct from execution config (stored in database).
 *
 * Config structure:
 * {
 *   "type": "hq",
 *   "name": "workspace-name",
 *   "version": "1.0.0",
 *   "schemaVersion": 1,
 *   "prlt": {
 *     "channel": "npm" | "npm:dev" | "gh" | "gh:dev" | "mount"
 *   }
 * }
 */
/**
 * prlt channel options:
 *
 * Public npm (npmjs.com) - no auth required:
 * - "npm": Install @proletariat/cli@latest from public npm (default)
 * - "npm:dev": Install @proletariat/cli@dev from public npm
 * - "npm:next": Install @proletariat/cli@next from public npm
 * - "npm:x.y.z": Install specific version from public npm
 *
 * Local development:
 * - "mount": Mount local prlt build from PRLT_REPO_PATH
 *
 * Legacy (deprecated, now uses npm):
 * - "gh": Alias for npm (GitHub Packages no longer used)
 */
export type PrltChannel = 'npm' | 'npm:dev' | 'npm:next' | 'gh' | 'gh:dev' | 'mount' | string;
export interface PrltConfig {
    /** prlt source: "npm", "npm:dev", "gh", "gh:dev", "mount", or specific version like "npm:1.2.3" */
    channel?: PrltChannel;
}
export interface WorkspaceConfig {
    type: 'hq' | 'workspace';
    name: string;
    version?: string;
    schemaVersion?: number;
    /** prlt CLI configuration for containers */
    prlt?: PrltConfig;
}
/**
 * Read workspace config from .proletariat/config.json
 */
export declare function readWorkspaceConfig(hqPath: string): WorkspaceConfig | null;
/**
 * Write workspace config to .proletariat/config.json
 */
export declare function writeWorkspaceConfig(hqPath: string, config: WorkspaceConfig): void;
/**
 * Get prlt config from workspace, with defaults
 */
export declare function getPrltConfig(hqPath: string): PrltConfig;
/**
 * Update prlt config section
 */
export declare function updatePrltConfig(hqPath: string, prltConfig: Partial<PrltConfig>): void;
/**
 * Get the prlt channel to use for container builds.
 * Priority: override > workspace config > default "npm"
 */
export declare function getPrltChannel(hqPath: string, override?: string): string;
/**
 * Parse a prlt channel string into registry and version components.
 * Examples:
 *   "npm" -> { registry: "npm", version: "latest" }
 *   "npm:dev" -> { registry: "npm", version: "dev" }
 *   "npm:1.2.3" -> { registry: "npm", version: "1.2.3" }
 *   "gh" -> { registry: "gh", version: "latest" }
 *   "gh:dev" -> { registry: "gh", version: "dev" }
 *   "mount" -> { registry: "mount", version: null }
 */
export declare function parseChannel(channel: string): {
    registry: 'npm' | 'gh' | 'mount';
    version: string | null;
};
