import type { Filter, ResourcePage as Page, Params } from '../types';
import type { CreateDatabasePayload, Database, DatabaseBackup, DatabaseCredentials, DatabaseEngine, DatabaseEngineConfig, DatabaseFork, DatabaseInstance, DatabaseType, Engine, SSLFields, UpdateDatabasePayload } from './types';
/**
 * getDatabases
 *
 * Return a paginated list of databases on this account.
 *
 */
export declare const getDatabases: (params?: Params, filter?: Filter) => Promise<Page<DatabaseInstance>>;
/**
 * getDatabaseTypes
 *
 * Return a paginated list of available plans/types for databases
 *
 */
export declare const getDatabaseTypes: (params?: Params, filter?: Filter) => Promise<Page<DatabaseType>>;
/**
 * getDatabaseType
 *
 * Return information for a single database type
 *
 */
export declare const getDatabaseType: (typeSlug: string) => Promise<DatabaseType>;
/**
 * getVersions
 *
 * Return information on available versions per engine that we offer
 *
 */
export declare const getDatabaseEngines: (params?: Params, filter?: Filter) => Promise<Page<DatabaseEngine>>;
/**
 * getVersion
 *
 * Return information on a specified version
 *
 */
export declare const getDatabaseEngine: (engineSlug: string) => Promise<DatabaseEngine>;
/**
 * createDatabase
 *
 * Create a new database in the specified region.
 *
 */
export declare const createDatabase: (engine: Engine | undefined, data: CreateDatabasePayload) => Promise<Database>;
/**
 * getEngineDatabases
 *
 * Return a paginated list of active engine-specific (e.g. MySQL) databases belonging to user
 *
 */
export declare const getEngineDatabases: (engine: Engine, params?: Params, filter?: Filter) => Promise<Page<Database>>;
/**
 * getEngineDatabase
 *
 * Return details for a single specified active database
 *
 */
export declare const getEngineDatabase: (engine: Engine, databaseID: number) => Promise<Database>;
/**
 * updateDatabase
 *
 * Update the label or allowed IPs or plan of an
 * existing database
 *
 */
export declare const updateDatabase: (engine: Engine, databaseID: number, data: UpdateDatabasePayload) => Promise<Database>;
/**
 * patchDatabase
 *
 * Patch security updates for the database (outside of the maintenance window)
 */
export declare const patchDatabase: (engine: Engine, databaseID: number) => Promise<void>;
/**
 * deleteDatabase
 *
 * Delete a single database
 */
export declare const deleteDatabase: (engine: Engine, databaseID: number) => Promise<{}>;
/**
 * getDatabaseBackups
 *
 * Return backups information for a database
 *
 */
export declare const getDatabaseBackups: (engine: Engine, databaseID: number, params?: Params, filter?: Filter) => Promise<Page<DatabaseBackup>>;
/**
 * getDatabaseBackups
 *
 * Return details for a specific database backup
 *
 */
export declare const getDatabaseBackup: (engine: Engine, databaseID: number, backupID: number) => Promise<DatabaseBackup>;
/**
 * legacyRestoreWithBackup
 *
 * Fully restore a backup to the cluster
 */
export declare const legacyRestoreWithBackup: (engine: Engine, databaseID: number, backupID: number) => Promise<{}>;
/**
 * restoreWithBackup for the New Database
 *
 * Fully restore a backup to the cluster
 */
export declare const restoreWithBackup: (engine: Engine, fork: DatabaseFork) => Promise<Database>;
/**
 * getDatabaseCredentials
 *
 * Return credentials (root username and password) for a database
 *
 */
export declare const getDatabaseCredentials: (engine: Engine, databaseID: number) => Promise<DatabaseCredentials>;
/**
 * resetDatabaseCredentials
 *
 * Resets the root credentials for a database
 */
export declare const resetDatabaseCredentials: (engine: Engine, databaseID: number) => Promise<{}>;
/**
 * getSSLFields
 *
 * Retrieve the certificate and public key for a database instance
 */
export declare const getSSLFields: (engine: Engine, databaseID: number) => Promise<SSLFields>;
/**
 * suspendDatabase
 *
 * Suspend the specified database cluster
 */
export declare const suspendDatabase: (engine: Engine, databaseID: number) => Promise<{}>;
/**
 * resumeDatabase
 *
 * Resume the specified database cluster
 */
export declare const resumeDatabase: (engine: Engine, databaseID: number) => Promise<{}>;
/**
 * getConfig
 *
 * Return detailed list of all the configuration options
 *
 */
export declare const getDatabaseEngineConfig: (engine: Engine) => Promise<DatabaseEngineConfig>;
//# sourceMappingURL=databases.d.ts.map