import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
 * Use this data source to retrieve information about an existing custom allocation rule.
 */
export declare function getCustomAllocationRule(args?: GetCustomAllocationRuleArgs, opts?: pulumi.InvokeOptions): Promise<GetCustomAllocationRuleResult>;
/**
 * A collection of arguments for invoking getCustomAllocationRule.
 */
export interface GetCustomAllocationRuleArgs {
    costsToAllocates?: inputs.GetCustomAllocationRuleCostsToAllocate[];
    /**
     * The ID of the custom allocation rule to retrieve.
     */
    ruleId?: number;
    strategy?: inputs.GetCustomAllocationRuleStrategy;
}
/**
 * A collection of values returned by getCustomAllocationRule.
 */
export interface GetCustomAllocationRuleResult {
    readonly costsToAllocates?: outputs.GetCustomAllocationRuleCostsToAllocate[];
    /**
     * The timestamp (in ISO 8601 format) when the rule was created.
     */
    readonly created: string;
    /**
     * Whether the custom allocation rule is enabled.
     */
    readonly enabled: boolean;
    /**
     * The ID of this resource.
     */
    readonly id: string;
    /**
     * The UUID of the user who last modified the rule.
     */
    readonly lastModifiedUserUuid: string;
    /**
     * The order of the rule in the list of custom allocation rules.
     */
    readonly orderId: number;
    /**
     * List of cloud providers the rule applies to (e.g., `aws`, `azure`, `gcp`).
     */
    readonly providernames: string[];
    /**
     * Whether the rule was rejected by Datadog due to runtime errors. This field can be updated well after the rule was created. If rejected this rule is treated as disabled until modified where the rejection status is reset.
     */
    readonly rejected: boolean;
    /**
     * The ID of the custom allocation rule to retrieve.
     */
    readonly ruleId?: number;
    /**
     * The unique name of the custom allocation rule.
     */
    readonly ruleName: string;
    readonly strategy?: outputs.GetCustomAllocationRuleStrategy;
    /**
     * The type of the custom allocation rule. This is always `shared` currently.
     */
    readonly type: string;
    /**
     * The timestamp (in ISO 8601 format) when the rule was last updated.
     */
    readonly updated: string;
    /**
     * The version number of the rule.
     */
    readonly version: string;
}
/**
 * Use this data source to retrieve information about an existing custom allocation rule.
 */
export declare function getCustomAllocationRuleOutput(args?: GetCustomAllocationRuleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetCustomAllocationRuleResult>;
/**
 * A collection of arguments for invoking getCustomAllocationRule.
 */
export interface GetCustomAllocationRuleOutputArgs {
    costsToAllocates?: pulumi.Input<pulumi.Input<inputs.GetCustomAllocationRuleCostsToAllocateArgs>[] | undefined>;
    /**
     * The ID of the custom allocation rule to retrieve.
     */
    ruleId?: pulumi.Input<number | undefined>;
    strategy?: pulumi.Input<inputs.GetCustomAllocationRuleStrategyArgs | undefined>;
}
//# sourceMappingURL=getCustomAllocationRule.d.ts.map