import { OmniaContext } from "../contexts";
import { GuidValue, OmniaRole, PermissionBinding, RolePermissionSettingWithContextParam, AzurePermissionResource, AuthenticationSettings, AuthenticationConfiguration, AzureAdEnvironment } from "../models";
export declare class SecurityService {
    private serviceContainerContext;
    omniaContext: OmniaContext;
    private httpClient;
    constructor();
    getAppInstancePermissionBindings: (appInstanceId?: GuidValue) => Promise<PermissionBinding[]>;
    getAllOmniaRoles: () => Promise<OmniaRole[]>;
    getPermissionBindings: (roleIds: Array<string>, contextParams?: {
        [key: string]: string | number;
    }) => Promise<{
        [roleId: string]: PermissionBinding[];
    }>;
    addOrUpdatePermissionBindings: (rolePermissionSettingWithParam: RolePermissionSettingWithContextParam, serviceId?: GuidValue) => Promise<void>;
    getTenantRequiredAzureAdPermissions: () => Promise<AzurePermissionResource[]>;
    getConsentUrl: (redirectUrl: string) => Promise<string>;
    getAuthenticationSettings: () => Promise<AuthenticationSettings>;
    getAuthenticationSettingsByUserTypeId: (userTypeId: GuidValue) => Promise<AuthenticationSettings>;
    saveAuthenticationSettings: (authConfig: AuthenticationConfiguration) => Promise<void>;
    validateAzureAdPermissionsSynced: (permissionIds: Array<string>) => Promise<boolean>;
    getAzureAdEnvironment: () => Promise<AzureAdEnvironment>;
    syncAzureAdPermissions: () => Promise<void>;
    private createHttpClientFromServiceId;
}
