import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides details about a specific Chargeback Plan resource in Oracle Cloud Infrastructure Opsi service.
 *
 * Gets the details of the specified chargeback plan.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testChargebackPlan = oci.opsi.getChargebackPlan({
 *     chargebackplanId: testChargebackplan.id,
 * });
 * ```
 */
export declare function getChargebackPlan(args: GetChargebackPlanArgs, opts?: pulumi.InvokeOptions): Promise<GetChargebackPlanResult>;
/**
 * A collection of arguments for invoking getChargebackPlan.
 */
export interface GetChargebackPlanArgs {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Ops Insights chargeback plan.
     */
    chargebackplanId: string;
}
/**
 * A collection of values returned by getChargebackPlan.
 */
export interface GetChargebackPlanResult {
    readonly chargebackplanId: string;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment.
     */
    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;
    };
    /**
     * Source of the chargeback plan.
     */
    readonly entitySource: string;
    /**
     * Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
     */
    readonly freeformTags: {
        [key: string]: string;
    };
    /**
     * [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of OPSI Chargeback plan resource.
     */
    readonly id: string;
    /**
     * Indicates whether the chargeback plan customization item can be customized.
     */
    readonly isCustomizable: boolean;
    /**
     * A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in Failed state.
     */
    readonly lifecycleDetails: string;
    /**
     * Chargeback Plan category of the chargeback entity. It can be OOB, or CUSTOM.
     */
    readonly planCategory: string;
    /**
     * List of chargeback plan customizations.
     */
    readonly planCustomItems: outputs.Opsi.GetChargebackPlanPlanCustomItem[];
    /**
     * Description of OPSI Chargeback Plan.
     */
    readonly planDescription: string;
    /**
     * Name for the OPSI Chargeback plan.
     */
    readonly planName: string;
    /**
     * Chargeback Plan type of the chargeback entity. For an Exadata it can be WEIGHTED_ALLOCATION, EQUAL_ALLOCATION, UNUSED_ALLOCATION.
     */
    readonly planType: string;
    /**
     * Chargeback Plan lifecycle states
     */
    readonly state: string;
    /**
     * System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}`
     */
    readonly systemTags: {
        [key: string]: string;
    };
    /**
     * The date and time the chargeback plan was created, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339).
     */
    readonly timeCreated: string;
    /**
     * The time chargeback plan was updated. An RFC3339 formatted datetime string
     */
    readonly timeUpdated: string;
}
/**
 * This data source provides details about a specific Chargeback Plan resource in Oracle Cloud Infrastructure Opsi service.
 *
 * Gets the details of the specified chargeback plan.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testChargebackPlan = oci.opsi.getChargebackPlan({
 *     chargebackplanId: testChargebackplan.id,
 * });
 * ```
 */
export declare function getChargebackPlanOutput(args: GetChargebackPlanOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetChargebackPlanResult>;
/**
 * A collection of arguments for invoking getChargebackPlan.
 */
export interface GetChargebackPlanOutputArgs {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Ops Insights chargeback plan.
     */
    chargebackplanId: pulumi.Input<string>;
}
//# sourceMappingURL=getChargebackPlan.d.ts.map