///
import { AzureApiResult, StorageAccount, StorageAccountListKeysResult } from 'types/index.js';
import { AzureRestApi } from '../rest-api.js';
export declare class AzureStorageAccountApi {
/**
* @param {AzureRestApi} api
*/
api: AzureRestApi;
constructor(api: AzureRestApi);
/**
* List storage accounts
* @see https://learn.microsoft.com/en-us/rest/api/storagerp/storage-accounts/list-by-resource-group
* @param {string} subscriptionId
* @param {string} resourceGroupName
* @returns {Promise>}
*/
list(subscriptionId: string, resourceGroupName: string): Promise>;
/**
* Get storage account properties
* @see https://learn.microsoft.com/en-us/rest/api/storagerp/storage-accounts/get-properties
* @param {string} subscriptionId
* @param {string} resourceGroupName
* @param {string} storageAccountName
* @returns {Promise>}
*/
get(subscriptionId: string, resourceGroupName: string, storageAccountName: string): Promise>;
/**
* List keys
* @see https://learn.microsoft.com/en-us/rest/api/storagerp/storage-accounts/list-keys
* @param {string} subscriptionId
* @param {string} resourceGroupName
* @param {string} storageAccountName
* @returns {Promise>}
*/
listKeys(subscriptionId: string, resourceGroupName: string, storageAccountName: string): Promise>;
getKey(storageAccountKeys: StorageAccountListKeysResult, index?: number): Buffer;
/**
* Generate a signed blob URL
* @see https://learn.microsoft.com/en-us/rest/api/storageservices/create-account-sas
* @param {string} storageAccountKey
* @param {string} storageAccountName
* @param {string} storageContainerName
* @param {string} fileName
* @returns
*/
getFileUrl(storageAccountKey: Buffer, storageAccountName: string, storageContainerName: string, fileName: string): string;
/**
* Create storage account
* @see https://learn.microsoft.com/en-us/rest/api/storagerp/storage-accounts/create
* @param {string} location
* @param {string} subscriptionId
* @param {string} resourceGroupName
* @param {string} storageAccountName
* @returns {Promise>}
*/
create(location: string, subscriptionId: string, resourceGroupName: string, storageAccountName: string): Promise>;
}