import { BaseField } from '@dvn/core/doldurma/src/BaseField';
import { Config, MentornityViewConfigViewName, ViewConfigWrapper } from '../../../mentornity-js-client/models';
import { PairConfigOptions } from '../constants/pair-config';
export declare function convertFieldsToFieldReferences(fields: BaseField[]): {
  fieldId: string;
}[];
export declare function getViewConfigForViewName(viewConfigs: ViewConfigWrapper[], viewName: MentornityViewConfigViewName): ViewConfigWrapper | undefined;
/**
 * Returns the complete list of fields that should be put into the membership config of the viewed user.
 * @param language
 * @param config of the program.
 * @param viewedUserRole the role of the user (or user list) that is being viewed.
 * @param role of the current user ('mentee' or 'mentor').
 */
export declare function getMembershipFields(language: string, config: Config, viewedUserRole: 'mentee' | 'mentor', role: 'mentee' | 'mentor'): BaseField[];
/**
 * Returns the list of fields that can be shown to build a view config.
 * @param language
 * @param config of the program.
 * @param viewedUserRole the role of the user (or user list) that is being viewed.
 * @param role of the current user ('mentee' or 'mentor').
 */
export declare function getUserDetailFields(language: string, config: Config, viewedUserRole: 'mentee' | 'mentor', role: 'mentee' | 'mentor'): BaseField[];
/**
 * Returns the list of card body fields that can be shown inside a detail view (card view, etc.).
 * @param language
 * @param config of the program.
 * @param viewedUserRole the role of the user (or user list) that is being viewed.
 * @param role of the current user ('mentee' or 'mentor').
 * @param isSummary prepares the config to trim long info for summary views (card list).
 * @param limit is used to trim the list to return only a specific number of fields.
 */
export declare function getUserDetailViewFieldConfigs(language: string, config: Config, viewedUserRole: 'mentee' | 'mentor', role: 'mentee' | 'mentor', isSummary: boolean, limit?: number): any;
/**
 * Filters the legacy profile fields based on the program config. Hides title, bio or skills if not allowed by admins.
 * @param language
 * @param config of the program.
 * @param viewedUserType is either 'mentee' or 'mentor'.
 */
export declare function getAvailableLegacyProfileFields(language: string, config: Config, viewedUserType: 'mentee' | 'mentor'): BaseField[];
/**
 * Returns the metadata fields based on the user role and the program config.
 * It may return an empty list if the config doesn't allow the user to view the metadatas of the viewed user.
 * @param role
 * @param config
 */
export declare function getAvailableMetadataFields(role: string, config: Config): BaseField[];
/**
 * Filters out the fields that are no longer in the metadata configs.
 *
 * @param role
 * @param config
 * @param fieldConfigs
 */
export declare function filterUnavailableMetadataFields(role: string, config: Config, fieldConfigs: any[]): any[];
export declare function getPairConfigOptionsFromOrganisationConfig(config: Config): PairConfigOptions;
