import { State } from '../shared/State';
import { type AmConfigEntityInterface, type NoIdObjectSkeletonInterface, type PagedResult } from './ApiTypes';
export type SocialIdpSkeleton = AmConfigEntityInterface & {
    enabled: boolean;
    transform: string;
};
/**
 * Get social identity provider types
 * @returns {Promise} a promise that resolves to an object containing an array of social identity provider types
 */
export declare function getSocialIdentityProviderTypes({ state, }: {
    state: State;
}): Promise<any>;
/**
 * Get social identity providers by type
 * @param {String} type social identity provider type
 * @returns {Promise} a promise that resolves to an object containing an array of social identity providers of the requested type
 */
export declare function getSocialIdentityProvidersByType({ type, state, }: {
    type: string;
    state: State;
}): Promise<any>;
/**
 * Get all social identity providers
 * @returns {Promise<PagedResult<SocialIdpSkeleton>>} a promise that resolves to an object containing an array of social identity providers
 */
export declare function getSocialIdentityProviders({ state, }: {
    state: State;
}): Promise<PagedResult<SocialIdpSkeleton>>;
/**
 * Get social identity provider by type and id
 * @param {string} type social identity provider type
 * @param {string} id social identity provider id/name
 * @returns {Promise} a promise that resolves to an object containing a social identity provider
 */
export declare function getProviderByTypeAndId({ type, id, state, }: {
    type: string;
    id: string;
    state: State;
}): Promise<any>;
/**
 * Get social identity provider by type and id
 * @param {String} type social identity provider type
 * @param {String} id social identity provider id/name
 * @param {Object} providerData a social identity provider object
 * @returns {Promise} a promise that resolves to an object containing a social identity provider
 */
export declare function putProviderByTypeAndId({ type, id, providerData, state, }: {
    type: string;
    id: string;
    providerData: SocialIdpSkeleton | NoIdObjectSkeletonInterface;
    state: State;
}): Promise<any>;
/**
 * Delete social identity provider by type and id
 * @param {string} providerId provider type
 * @param {string} providerId provider id
 * @returns {Promise<unknown>} a promise that resolves to a social identity provider
 */
export declare function deleteProviderByTypeAndId({ type, providerId, state, }: {
    type: string;
    providerId: string;
    state: State;
}): Promise<any>;
//# sourceMappingURL=SocialIdentityProvidersApi.d.ts.map