import { State } from '../shared/State'; import { IdObjectSkeletonInterface, PagedResult } from './ApiTypes'; export type Saml2ProiderLocation = 'hosted' | 'remote'; export type Saml2ProviderStub = IdObjectSkeletonInterface & { entityId: string; location: Saml2ProiderLocation; roles: string[]; }; export type Saml2ProviderSkeleton = IdObjectSkeletonInterface & { entityId: string; entityLocation: Saml2ProiderLocation; serviceProvider: unknown; identityProvider: { assertionProcessing?: { attributeMapper?: { attributeMapperScript?: string; }; }; advanced?: { idpAdapter?: { idpAdapterScript?: string; }; }; }; attributeQueryProvider: unknown; xacmlPolicyEnforcementPoint: unknown; }; /** * Get all SAML2 entity providers * @returns {Promise>} a promise that resolves to an array of saml2 entity stubs */ export declare function getProviderStubs({ state, }: { state: State; }): Promise>; /** * Query providers matching the filter and return the requested fields * @param {string} filter CREST filter string, eg "entityId+eq+'${entityId}'" or "true" for all providers * @param {string[]} fields array of field names to include in the response * @returns {Promise>} a promise that resolves to an object containing an array of saml2 entities */ export declare function queryProviderStubs({ filter, fields, state, }: { filter?: string; fields?: string[]; state: State; }): Promise>; /** * Geta SAML2 entity provider by location and id * @param {Saml2ProiderLocation} location Entity provider location * @param {string} entityId64 Base64-encoded, unpadded provider entity id * @returns {Promise} a promise that resolves to a saml2 entity provider object */ export declare function getProvider({ location, entityId64, state, }: { location: Saml2ProiderLocation; entityId64: string; state: State; }): Promise; /** * Geta SAML2 entity provider by location and id * @param {Saml2ProiderLocation} location Entity provider location (hosted or remote) * @param {string} entityId64 Base64-encoded provider entity id * @returns {Promise} a promise that resolves to a saml2 entity provider object */ export declare function deleteProvider({ location, entityId64, state, }: { location: Saml2ProiderLocation; entityId64: string; state: State; }): Promise; /** * Get a SAML2 entity provider's metadata URL by entity id * @param {string} entityId SAML2 entity id * @returns {string} the URL to get the metadata from */ export declare function getProviderMetadataUrl({ entityId, state, }: { entityId: string; state: State; }): string; /** * Get a SAML2 entity provider's metadata by entity id * @param {string} entityId SAML2 entity id * @returns {Promise} a promise that resolves to an object containing a SAML2 metadata */ export declare function getProviderMetadata({ entityId, state, }: { entityId: string; state: State; }): Promise; /** * Create a SAML2 entity provider * @param {Saml2ProiderLocation} location 'hosted' or 'remote' * @param {Saml2ProviderSkeleton} providerData Object representing a SAML entity provider * @param {string} metaData Base64-encoded metadata XML. Only required for remote providers * @returns {Promise} a promise that resolves to a saml2 entity provider object */ export declare function createProvider({ location, providerData, metaData, state, }: { location: Saml2ProiderLocation; providerData: Saml2ProviderSkeleton; metaData?: string; state: State; }): Promise; /** * Update SAML2 entity provider * @param {Saml2ProiderLocation} location Entity provider location (hosted or remote) * @param {string} entityId SAML2 entity id * @param {Saml2ProviderSkeleton} providerData Object representing a SAML entity provider * @returns {Promise} a promise that resolves to a saml2 entity provider object */ export declare function updateProvider({ location, entityId, providerData, state, }: { location: Saml2ProiderLocation; entityId?: string; providerData: Saml2ProviderSkeleton; state: State; }): Promise; //# sourceMappingURL=Saml2Api.d.ts.map