import { State } from '../../shared/State';
import { type EntityType, type IdObjectSkeletonInterface, type PagedResult } from '../ApiTypes';
import { type SocialIdpSkeleton } from '../SocialIdentityProvidersApi';
export type AdminFederationConfigSkeleton = IdObjectSkeletonInterface & {
    groups: {
        claim: string;
        mappings: {
            'super-admins': string[];
            'tenant-admins': string[];
        };
    };
};
/**
 * Get admin federation provider types
 * @returns {Promise} a promise that resolves to an object containing an array of admin federation provider types
 */
export declare function getAdminFederationProviderTypes({ state, }: {
    state: State;
}): Promise<PagedResult<EntityType>>;
/**
 * Get admin federation providers by type
 * @param {String} providerType admin federation provider type
 * @returns {Promise<PagedResult<SocialIdpSkeleton>>} a promise that resolves to an object containing an array of admin federation providers of the requested type
 */
export declare function getAdminFederationProvidersByType({ providerType, state, }: {
    providerType: string;
    state: State;
}): Promise<PagedResult<SocialIdpSkeleton>>;
/**
 * Get all admin federation providers
 * @returns {Promise<PagedResult<SocialIdpSkeleton>>} a promise that resolves to an object containing an array of admin federation providers
 */
export declare function getAdminFederationProviders({ state, }: {
    state: State;
}): Promise<PagedResult<SocialIdpSkeleton>>;
/**
 * Get admin federation provider by type and id
 * @param {*} type admin federation provider type
 * @param {*} id admin federation provider id/name
 * @returns {Promise<SocialIdpSkeleton>} a promise that resolves to an object containing a admin federation provider
 */
export declare function getProviderByTypeAndId({ providerType, providerId, state, }: {
    providerType: string;
    providerId: string;
    state: State;
}): Promise<SocialIdpSkeleton>;
/**
 * Get admin federation provider by type and id
 * @param {String} providerType admin federation provider type
 * @param {String} providerId admin federation provider id/name
 * @param {Object} providerData a admin federation provider object
 * @returns {Promise<SocialIdpSkeleton>} a promise that resolves to an object containing a admin federation provider
 */
export declare function putProviderByTypeAndId({ providerType, providerId, providerData, state, }: {
    providerType: string;
    providerId: string;
    providerData: SocialIdpSkeleton;
    state: State;
}): Promise<SocialIdpSkeleton>;
/**
 * Delete admin federation provider by type and id
 * @param {string} providerId provider type
 * @param {string} providerId provider id
 * @returns {Promise<SocialIdpSkeleton>} a promise that resolves to a admin federation provider
 */
export declare function deleteProviderByTypeAndId({ providerType, providerId, state, }: {
    providerType: string;
    providerId: string;
    state: State;
}): Promise<SocialIdpSkeleton>;
//# sourceMappingURL=AdminFederationProvidersApi.d.ts.map