import * as pulumi from "@pulumi/pulumi";
import * as outputs from "./types/output";
/**
 * `spacelift.getPolicies` can find all policies that have certain labels.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as spacelift from "@pulumi/spacelift";
 *
 * const all = spacelift.getPolicies({});
 * const planAutoattach = spacelift.getPolicies({
 *     type: "PLAN",
 *     labels: ["autoattach"],
 * });
 * export const policyIds = data.spacelift_policies["this"].policies.map(__item => __item.id);
 * ```
 */
export declare function getPolicies(args?: GetPoliciesArgs, opts?: pulumi.InvokeOptions): Promise<GetPoliciesResult>;
/**
 * A collection of arguments for invoking getPolicies.
 */
export interface GetPoliciesArgs {
    labels?: string[];
    type?: string;
}
/**
 * A collection of values returned by getPolicies.
 */
export interface GetPoliciesResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * required labels to match
     */
    readonly labels?: string[];
    readonly policies: outputs.GetPoliciesPolicy[];
    /**
     * required policy type
     */
    readonly type?: string;
}
/**
 * `spacelift.getPolicies` can find all policies that have certain labels.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as spacelift from "@pulumi/spacelift";
 *
 * const all = spacelift.getPolicies({});
 * const planAutoattach = spacelift.getPolicies({
 *     type: "PLAN",
 *     labels: ["autoattach"],
 * });
 * export const policyIds = data.spacelift_policies["this"].policies.map(__item => __item.id);
 * ```
 */
export declare function getPoliciesOutput(args?: GetPoliciesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetPoliciesResult>;
/**
 * A collection of arguments for invoking getPolicies.
 */
export interface GetPoliciesOutputArgs {
    labels?: pulumi.Input<pulumi.Input<string>[]>;
    type?: pulumi.Input<string>;
}
