import { Observable } from 'rxjs'; import { IdentityProviderSelectionOptions, IdentityProviderSelectorService } from './identity-provider-selector.service'; import * as i0 from "@angular/core"; /** * @ignore */ export interface IdentityProviderPromptContext { selectionOptions: IdentityProviderSelectionOptions; open: boolean; } /** * An implementation of `IdentityProviderSelectorService` that orchestrates the UI workflow of showing to the user a * list of identity providers to select when logging in or signing up. * * @example * ```ts * // your UI prompt component. EG... * import { IdentityProviderInteractiveSelectorService } from '@christianacca/angular-swa-auth'; * * @Component({ * selector: 'app-idp-selector-modal', * template: ` * * `, * changeDetection: ChangeDetectionStrategy.OnPush * }) * export class IdpSelectorModalComponent { * constructor(public svc: IdentityProviderInteractiveSelectorService) {} * } * * // app.component.ts... * @Component({ * selector: 'app-root', * template: ` * * * ` * }) * export class AppComponent {} * * // app.module.ts... * imports: [ * AuthModule.forRoot({ * identityProviderSelectorType: IdentityProviderInteractiveSelectorService * }) * ] * ``` */ export declare class IdentityProviderInteractiveSelectorService implements IdentityProviderSelectorService { private prompt; /** * An observable that will emit true/false and should be used to show/hide a prompt asking the user * to select from the configured li st of identity providers */ prompt$: Observable; private selected; /** * Called with the users selection of identity provider to cause the prompt to close * @param identityProvider Identity Provider that was selected or `undefined` to indicate the user cancelled the login */ selectAndClose(identityProvider: string | undefined): void; selectIdentityProvider(options: IdentityProviderSelectionOptions): Observable; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }