import type { B2CInstance } from '../instance/index.js';
import type { ScaffoldChoice, DynamicParameterSource, SourceResult } from './types.js';
/**
 * Common B2C Commerce hook extension points.
 */
export declare const HOOK_POINTS: ScaffoldChoice[];
/**
 * Resolve a local (non-remote) parameter source.
 * Does not require authentication.
 *
 * @param source - The source type to resolve
 * @param projectRoot - Project root directory for cartridge discovery
 * @returns Resolved choices and optional path mapping
 */
export declare function resolveLocalSource(source: DynamicParameterSource, projectRoot: string): SourceResult;
/**
 * Resolve a remote parameter source.
 * Requires authenticated B2CInstance (follows SDK operation pattern).
 *
 * @param source - The source type
 * @param instance - Authenticated B2C instance
 * @returns Promise resolving to choices array
 * @throws Error if API call fails
 */
export declare function resolveRemoteSource(source: DynamicParameterSource, instance: B2CInstance): Promise<ScaffoldChoice[]>;
/**
 * Check if a source requires remote API access.
 *
 * @param source - The source type to check
 * @returns True if the source requires remote access
 */
export declare function isRemoteSource(source: DynamicParameterSource): boolean;
/**
 * Validate a value against a dynamic source (local only).
 * Used for non-interactive validation of provided values.
 *
 * @param source - The source type
 * @param value - The value to validate
 * @param projectRoot - Project root for local sources
 * @returns Object with valid status and available choices if invalid
 */
export declare function validateAgainstSource(source: DynamicParameterSource, value: string, projectRoot: string): {
    valid: boolean;
    availableChoices?: string[];
};
