import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Use this data source to query detailed information of scaling policies
 */
export declare function getScalingPolicies(args: GetScalingPoliciesArgs, opts?: pulumi.InvokeOptions): Promise<GetScalingPoliciesResult>;
/**
 * A collection of arguments for invoking getScalingPolicies.
 */
export interface GetScalingPoliciesArgs {
    /**
     * A list of scaling policy ids.
     */
    ids?: string[];
    /**
     * A Name Regex of scaling policy.
     */
    nameRegex?: string;
    /**
     * File name where to save data source results.
     */
    outputFile?: string;
    /**
     * An id of the scaling group to which the scaling policy belongs.
     */
    scalingGroupId: string;
    /**
     * A list of scaling policy names.
     */
    scalingPolicyNames?: string[];
    /**
     * A type of scaling policy. Valid values: Scheduled, Recurrence, Manual, Alarm.
     */
    scalingPolicyType?: string;
}
/**
 * A collection of values returned by getScalingPolicies.
 */
export interface GetScalingPoliciesResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly ids?: string[];
    readonly nameRegex?: string;
    readonly outputFile?: string;
    /**
     * The id of the scaling group to which the scaling policy belongs.
     */
    readonly scalingGroupId: string;
    /**
     * The collection of scaling policy query.
     */
    readonly scalingPolicies: outputs.autoscaling.GetScalingPoliciesScalingPolicy[];
    readonly scalingPolicyNames?: string[];
    /**
     * The type of the scaling policy.
     */
    readonly scalingPolicyType?: string;
    /**
     * The total count of scaling policy query.
     */
    readonly totalCount: number;
}
/**
 * Use this data source to query detailed information of scaling policies
 */
export declare function getScalingPoliciesOutput(args: GetScalingPoliciesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetScalingPoliciesResult>;
/**
 * A collection of arguments for invoking getScalingPolicies.
 */
export interface GetScalingPoliciesOutputArgs {
    /**
     * A list of scaling policy ids.
     */
    ids?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * A Name Regex of scaling policy.
     */
    nameRegex?: pulumi.Input<string>;
    /**
     * File name where to save data source results.
     */
    outputFile?: pulumi.Input<string>;
    /**
     * An id of the scaling group to which the scaling policy belongs.
     */
    scalingGroupId: pulumi.Input<string>;
    /**
     * A list of scaling policy names.
     */
    scalingPolicyNames?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * A type of scaling policy. Valid values: Scheduled, Recurrence, Manual, Alarm.
     */
    scalingPolicyType?: pulumi.Input<string>;
}
