import { EventEmitter, OnInit } from '@angular/core'; import { StorageAccountWithProvider, MJFileStorageAccountEntity } from '@memberjunction/core-entities'; import { type IMetadataProvider } from '@memberjunction/core'; import { StorageAdminTab } from '../admin/storage-admin-dialog.component'; import * as i0 from "@angular/core"; /** * Displays a list of organizational file storage accounts. * In the enterprise model, accounts are configured by administrators * and available to users based on permissions. Users no longer manage * their own OAuth connections - credentials are handled at the org level. */ export declare class StorageProvidersListComponent implements OnInit { private cdr; /** * Emits when an account is selected by the user, or null when no accounts are available. * Emits the full account-with-provider object for downstream components to use. */ accountSelected: EventEmitter; /** * All available storage accounts with their provider details. */ accounts: StorageAccountWithProvider[]; /** * Currently selected account. */ selectedAccount: StorageAccountWithProvider | null; /** * Loading state indicator. */ isLoading: boolean; /** * Error message if loading fails. */ errorMessage: string | null; /** * Whether current user has admin rights to configure storage accounts or providers. */ userCanManage: boolean; /** * Admin dialog state */ isManageDialogOpen: boolean; adminDialogTab: StorageAdminTab; accountToEdit: MJFileStorageAccountEntity | null; Provider: IMetadataProvider | null; get ProviderToUse(): IMetadataProvider; constructor(); ngOnInit(): void; /** * Checks if current user has create or update permissions on storage entities. */ private checkPermissions; /** * Loads all available file storage accounts with their provider details. * Uses FileStorageEngineBase for centralized, cached access. */ private loadAccounts; /** * Handles account selection by the user. */ selectAccount(accountWithProvider: StorageAccountWithProvider): void; /** * Checks if an account is currently selected. */ isSelected(accountWithProvider: StorageAccountWithProvider): boolean; /** * Gets the icon class for a provider based on its name. */ getProviderIcon(providerName: string): string; /** * Refreshes the accounts list by forcing a reload from the database. */ refresh(): void; /** * Opens the storage administration dialog */ openAdminDialog(tab?: StorageAdminTab, account?: MJFileStorageAccountEntity | null): void; /** * Closes the storage administration dialog */ closeAdminDialog(): void; /** * Handles storage configuration changes from the admin dialog */ onAdminAccountsChanged(): void; /** * Handles inline edit click on an account item */ onEditAccountClick(item: StorageAccountWithProvider, event: MouseEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } //# sourceMappingURL=storage-providers-list.component.d.ts.map