import { EventEmitter, OnInit } from '@angular/core'; import { type IMetadataProvider } from '@memberjunction/core'; import { MJFileStorageAccountEntity, MJFileStorageProviderEntity, MJFileStorageAccountPermissionEntity, MJCredentialEntity, MJRoleEntity } from '@memberjunction/core-entities'; import * as i0 from "@angular/core"; export type StorageAdminTab = 'accounts' | 'providers'; export interface StorageAccountRow { account: MJFileStorageAccountEntity; provider?: MJFileStorageProviderEntity; credentialName?: string; roleCount: number; } export declare class StorageAdminDialogComponent implements OnInit { private cdr; private notifications; private viewContainerRef; private credentialDialog; Visible: boolean; ActiveTab: StorageAdminTab; Provider: IMetadataProvider | null; Close: EventEmitter; AccountsChanged: EventEmitter; get ProviderToUse(): IMetadataProvider; IsLoading: boolean; IsSaving: boolean; SearchTerm: string; Providers: MJFileStorageProviderEntity[]; Accounts: MJFileStorageAccountEntity[]; Credentials: MJCredentialEntity[]; Roles: MJRoleEntity[]; AccountPermissions: MJFileStorageAccountPermissionEntity[]; IsEditingAccount: boolean; EditingAccount: MJFileStorageAccountEntity | null; EditingAccountName: string; EditingAccountDescription: string; EditingAccountProviderID: string; EditingAccountCredentialID: string; EditingAccountIncludeInGlobalSearch: boolean; EditingAccountSelectedRoleIDs: string[]; AccountToDelete: MJFileStorageAccountEntity | null; IsDeleting: boolean; ngOnInit(): Promise; Open(tab?: StorageAdminTab, accountToEdit?: MJFileStorageAccountEntity | null): Promise; LoadAllData(): Promise; get FilteredAccountRows(): StorageAccountRow[]; get ActiveProviders(): MJFileStorageProviderEntity[]; StartCreateAccount(): void; StartEditAccount(account: MJFileStorageAccountEntity): void; CancelEditAccount(): void; ToggleRoleSelection(roleId: string): void; IsRoleSelected(roleId: string): boolean; OpenCreateCredentialDialog(): Promise; SaveAccount(): Promise; private SyncAccountPermissions; ConfirmDeleteAccount(account: MJFileStorageAccountEntity): void; CancelDeleteAccount(): void; ExecuteDeleteAccount(): Promise; ToggleProviderActive(provider: MJFileStorageProviderEntity): Promise; GetProviderIcon(providerName: string): string; OnDialogClose(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } //# sourceMappingURL=storage-admin-dialog.component.d.ts.map