import { BaseCommandTest } from './base-command-test.js';
import { type BaseTestOptions } from './base-test-options.js';
export declare class MirrorNodeTest extends BaseCommandTest {
    private static soloMirrorNodeDeployArgv;
    private static soloMirrorNodeDestroyArgv;
    private static forwardRestServicePort;
    private static stopPortForward;
    private static verifyMirrorNodeDeployWasSuccessful;
    private static verifyPingerStatus;
    static add(options: BaseTestOptions): void;
    static destroy(options: BaseTestOptions): void;
    private static postgresPassword;
    private static postgresUsername;
    private static postgresReadonlyUsername;
    private static postgresReadonlyPassword;
    private static postgresHostFqdn;
    private static nameSpace;
    private static postgresName;
    private static postgresContainerName;
    private static postgresMirrorNodeDatabaseName;
    private static getPostgresContainer;
    /**
     * Grants the readonly role to mirror_rest so the REST service can SELECT from tables
     * created by Flyway migrations after V1.0.
     *
     * The importer's V1.0__Init.sql creates mirror_rest without the readonly role, so it
     * has no access to any table added after that migration.  The init.sh script sets default
     * privileges that automatically grant SELECT on new tables to the readonly role; granting
     * readonly to mirror_rest propagates those privileges.
     *
     * This must be called after main() returns (importer pod ready = migrations complete =
     * mirror_rest exists) and before verifyMirrorNodeDeployWasSuccessful.
     */
    private static grantReadonlyRoleToMirrorRestUser;
    static deployWithExternalDatabase(options: BaseTestOptions): void;
    static installPostgres(options: BaseTestOptions): void;
    static pullAddressBook(options: BaseTestOptions): void;
}
