import { InjectionToken } from '@angular/core';
import { CanActivate } from '@angular/router';
import { SdMaybeAsync } from '@sd-angular/core/utilities';
import { SdAuthInfo } from '../services';
export interface ISdAuthConfiguration {
    action?: IAuthConfigurationAction;
    guard?: IAuthConfigurationGuard;
}
export declare const SD_AUTH_CONFIGURATION: InjectionToken<ISdAuthConfiguration>;
interface IAuthConfigurationAction {
    signout: () => SdMaybeAsync<void>;
    changePassword?: () => SdMaybeAsync<void>;
}
interface IAuthConfigurationGuard {
    auth?: CanActivate['canActivate'];
    portal?: CanActivate['canActivate'];
    authInfo: () => SdMaybeAsync<SdAuthInfo>;
}
export {};
