import Explorer, { AccountListResponse, GetFolderContentRequest, Portal, PortalBasicRequest, PortalFile, PortalListRequest, PortalPermissions } from '../../external/navigation/Explorer';
import PlatformService from '../services/PlatformService';
export interface PlatformExplorerOptions {
    platformService: PlatformService;
}
export default class PlatformExplorer implements Explorer {
    private _platformService;
    constructor(options: PlatformExplorerOptions);
    private validMediaShuttleServices;
    /**
     * Lists all accounts a user has access to including the serviceId
     * @param {boolean} showExpired | allows the user to retrieve information about expired accounts
     * @returns {Promise<AccountListResponse>}
     */
    listAccounts(showExpired?: boolean): Promise<AccountListResponse>;
    /**
     * This function returns a list of portals for a given account and service
     * @param {PortalListRequest} requestObject | request object
     * @param {string} requestObject.accountId | account identifier
     * @param {string} requestObject.serviceId | service identifier
     * @param {string} requestObject.showExpired | flag to include expired portals in the response
     * @param {string} requestObject.limitPortalsToMemberRole | get all portals the user making the request is MEMBER of.

     * @returns A list of portals
     */
    listPortals({ accountId, serviceId, showExpired, limitPortalsToMemberRole, }: PortalListRequest): Promise<Portal[]>;
    /**
     * @ignore
     * It gets the contents of a portal folder.
     * @param {GetFolderContentRequest} - Request Object | Includes all the required parameters in order to perform the getFolderContent request
     * @param {GetFolderContentRequest} GetFolderContentRequest.accountId - **accountId**: The ID of the Account Containing the Media Shuttle Service.
     * @param {GetFolderContentRequest} GetFolderContentRequest.portalId - **portalId**: The ID of portal.
     * @param {GetFolderContentRequest} GetFolderContentRequest.serviceId - **serviceId**: The ID of the Media Shuttle Service.
     * @param {GetFolderContentRequest} GetFolderContentRequest.folderId - **folderId**: Folder Identifier (optional) if not send the home folder is assumed.
     * @param {GetFolderContentRequest} GetFolderContentRequest.browsePath - **browsePath**: path of the subfolder to look for relative to the provided folderId
     * @returns A list of files/folders in the folder.
     */
    getFolderContent({ accountId, serviceId, portalId, folderId, browsePath, }: GetFolderContentRequest): Promise<PortalFile[]>;
    /**
     * It gets the permissions for a member of a portal.
     * @param {PortalBasicRequest} requestObject - Request Object | Includes all the required parameters in order to perform te getPortalMemberPermissions request
     * @param {string} requestObject.accountId - **accountId**: The ID of the Account Containing the Media Shuttle Service.
     * @param {string} requestObject.serviceId - **serviceId**: The ID of the Media Shuttle Service.
     * @param {string} requestObject.portalId - **portalId**: The ID of portal.
     * @returns The permissions for the portal member.
     */
    getPortalMemberPermissions({ accountId, serviceId, portalId }: PortalBasicRequest): Promise<PortalPermissions>;
}
//# sourceMappingURL=PlatformExplorer.d.ts.map