import * as pulumi from '@pulumi/pulumi';
import { EcsService, EcsServiceArgs } from './ecs-service';
import { Password } from './password';
export type MongoArgs = Pick<EcsServiceArgs, 'size' | 'clusterId' | 'clusterName' | 'vpcId' | 'vpcCidrBlock' | 'tags'> & {
    privateSubnetIds: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Username for the master DB user.
     */
    username: pulumi.Input<string>;
    /**
     * Password for the master DB user. If not specified it will be autogenerated.
     * The value will be stored as a secret in AWS Secret Manager.
     */
    password?: pulumi.Input<string>;
    /**
     * Mongo Docker image. Defaults to mongo:7.0.3.
     */
    image?: pulumi.Input<string>;
    /**
     * Exposed service port. Defaults to 27017.
     */
    port?: pulumi.Input<number>;
    /**
     * Configuration for persistent storage using EFS volumes.
     * By default, creates a volume named 'mongo' mounted at '/data/db'.
     * You can override this by providing your own volume and mount point configuration.
     */
    persistentStorageConfig?: EcsServiceArgs['persistentStorageConfig'];
};
export declare class Mongo extends pulumi.ComponentResource {
    readonly name: string;
    readonly username: pulumi.Output<string>;
    readonly port: pulumi.Output<number>;
    readonly host: pulumi.Output<string>;
    readonly service: EcsService;
    readonly password: Password;
    constructor(name: string, args: MongoArgs, opts?: pulumi.ComponentResourceOptions);
}
