import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides details about a specific Migration resource in Oracle Cloud Infrastructure Cloud Migrations service.
 *
 * Gets a migration by identifier.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testMigration = oci.cloudmigrations.getMigration({
 *     migrationId: testMigrationOciCloudMigrationsMigration.id,
 * });
 * ```
 */
export declare function getMigration(args: GetMigrationArgs, opts?: pulumi.InvokeOptions): Promise<GetMigrationResult>;
/**
 * A collection of arguments for invoking getMigration.
 */
export interface GetMigrationArgs {
    /**
     * Unique migration identifier
     */
    migrationId: string;
}
/**
 * A collection of values returned by getMigration.
 */
export interface GetMigrationResult {
    /**
     * Compartment Identifier
     */
    readonly compartmentId: string;
    /**
     * Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`
     */
    readonly definedTags: {
        [key: string]: string;
    };
    /**
     * Migration Identifier that can be renamed
     */
    readonly displayName: string;
    /**
     * Simple key-value pair that is applied without any predefined name, type or scope. It exists only for cross-compatibility. Example: `{"bar-key": "value"}`
     */
    readonly freeformTags: {
        [key: string]: string;
    };
    /**
     * Unique identifier that is immutable on creation
     */
    readonly id: string;
    /**
     * Indicates whether migration is marked as completed.
     */
    readonly isCompleted: boolean;
    /**
     * A message describing the current state in more detail. For example, it can be used to provide actionable information for a resource in Failed state.
     */
    readonly lifecycleDetails: string;
    /**
     * Configuration for a Migration Project.
     */
    readonly migrationConfigs: outputs.CloudMigrations.GetMigrationMigrationConfig[];
    readonly migrationId: string;
    /**
     * Type of migration project (OCI/OLVM). This determines the target environment for the migration.
     */
    readonly migrationType: string;
    /**
     * Replication schedule identifier
     */
    readonly replicationScheduleId: string;
    /**
     * The current state of migration.
     */
    readonly state: string;
    /**
     * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud.free-tier-retained": "true"}`
     */
    readonly systemTags: {
        [key: string]: string;
    };
    /**
     * The time when the migration project was created. An RFC3339 formatted datetime string
     */
    readonly timeCreated: string;
    /**
     * The time when the migration project was updated. An RFC3339 formatted datetime string
     */
    readonly timeUpdated: string;
}
/**
 * This data source provides details about a specific Migration resource in Oracle Cloud Infrastructure Cloud Migrations service.
 *
 * Gets a migration by identifier.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testMigration = oci.cloudmigrations.getMigration({
 *     migrationId: testMigrationOciCloudMigrationsMigration.id,
 * });
 * ```
 */
export declare function getMigrationOutput(args: GetMigrationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetMigrationResult>;
/**
 * A collection of arguments for invoking getMigration.
 */
export interface GetMigrationOutputArgs {
    /**
     * Unique migration identifier
     */
    migrationId: pulumi.Input<string>;
}
//# sourceMappingURL=getMigration.d.ts.map