import { LoggerService } from '../logger/logger.service.js'; import { DirectusUserService } from '../directus/directus-user/directus-user.service.js'; import { DatabaseConfig } from '../backup-db/database-config.interface.js'; import { ContainerService } from '../container/container.service.js'; import { Credential } from '../directus/directus-user/credential.type.js'; import { RedactService } from '../redact/redact.service.js'; import { DbDriver } from './db-driver/db-driver.interface.js'; import { TransferPlanner } from '../transfer/transfer-planner.js'; import { DirectusService } from '../directus/directus.service.js'; export declare class SqlService { protected readonly logger: LoggerService; private readonly directusUserService; private readonly redactService; private readonly transferPlanner; private readonly directus; private _driver; private _config; constructor(logger: LoggerService, directusUserService: DirectusUserService, redactService: RedactService, transferPlanner: TransferPlanner, directus: DirectusService); set databaseConfig(config: DatabaseConfig); get client(): DbDriver['client']; get clientImage(): string; get usesSidecar(): boolean; get databaseFilename(): string | undefined; private get driver(); private execFor; setupDirectusUser(containerService: ContainerService, port: number): Promise; cleanUpDirectusUser(): Promise; cleanUpAllDirectusUsers(containerService: ContainerService): Promise<{ users: number; roles: number; policies: number; }>; setCredentials(credentials: Credential[], containerService: ContainerService): Promise; setAssetStorage(storage: string, containerService: ContainerService): Promise; performMysqlDump(containerService: ContainerService, tableNames?: string[]): Promise; restoreMysqlDump(containerService: ContainerService): Promise; dropAllTables(containerService: ContainerService): Promise; transferRestore(containerService: ContainerService, sourceClient: 'mysql' | 'pg' | 'sqlite3', sqliteArtifact: string): Promise; listTables(containerService: ContainerService): Promise; executeSql(sql: string, containerService: ContainerService): Promise; escapeIdentifier(id: string): string; escapeString(v: string): string; disableForeignKeys(): string; enableForeignKeys(): string; }