import { InternalLogger } from '../../logger.js';
import { FMTable } from '../../orm/table.js';
import { ExpandConfig } from './shared-types.js';
/**
 * Builds OData query string for $select and $expand parameters.
 * Used by both QueryBuilder and RecordBuilder to eliminate duplication.
 *
 * @param config - Configuration object
 * @returns Query string starting with ? or empty string if no parameters
 */
export declare function buildSelectExpandQueryString(config: {
    selectedFields?: string[];
    expandConfigs: ExpandConfig[];
    table?: FMTable<any, any>;
    useEntityIds: boolean;
    logger: InternalLogger;
    includeSpecialColumns?: boolean;
}): string;
