import { State } from '../shared/State';
import { type AmConfigEntityInterface, type PagedResult } from './ApiTypes';
export type SocialIdpSkeleton = AmConfigEntityInterface & {
    authenticationIdKey: string;
    authorizationEndpoint: string;
    clientAuthenticationMethod: string;
    clientId: string;
    clientSecret?: string | null;
    clientSecretLabelIdentifier?: string;
    enabled: boolean;
    introspectEndpoint?: string;
    issuerComparisonCheckType: string;
    jwksUriEndpoint?: string;
    jwtEncryptionAlgorithm: string;
    jwtEncryptionMethod: string;
    jwtSigningAlgorithm: string;
    pkceMethod: string;
    privateKeyJwtExpTime: number;
    redirectAfterFormPostURI?: string;
    redirectURI: string;
    responseMode: string;
    revocationCheckOptions: string[];
    scopeDelimiter: string;
    scopes: string[];
    tokenEndpoint: string;
    transform: string;
    uiConfig: Record<string, string>;
    useCustomTrustStore: boolean;
    userInfoEndpoint?: 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 {SocialIdpSkeleton} 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;
    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