import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
export declare function getLocations(args?: GetLocationsArgs, opts?: pulumi.InvokeOptions): Promise<GetLocationsResult>;
/**
 * A collection of arguments for invoking getLocations.
 */
export interface GetLocationsArgs {
    /**
     * A list of filter to apply to the API query when requesting locations.
     */
    filters?: inputs.dcim.GetLocationsFilter[];
    /**
     * The limit of objects to return from the API lookup. Defaults to `0`.
     */
    limit?: number;
    /**
     * A list of tags to filter on.
     */
    tags?: string[];
}
/**
 * A collection of values returned by getLocations.
 */
export interface GetLocationsResult {
    /**
     * A list of filter to apply to the API query when requesting locations.
     */
    readonly filters?: outputs.dcim.GetLocationsFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The limit of objects to return from the API lookup. Defaults to `0`.
     */
    readonly limit?: number;
    readonly locations: outputs.dcim.GetLocationsLocation[];
    /**
     * A list of tags to filter on.
     */
    readonly tags?: string[];
}
export declare function getLocationsOutput(args?: GetLocationsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetLocationsResult>;
/**
 * A collection of arguments for invoking getLocations.
 */
export interface GetLocationsOutputArgs {
    /**
     * A list of filter to apply to the API query when requesting locations.
     */
    filters?: pulumi.Input<pulumi.Input<inputs.dcim.GetLocationsFilterArgs>[]>;
    /**
     * The limit of objects to return from the API lookup. Defaults to `0`.
     */
    limit?: pulumi.Input<number>;
    /**
     * A list of tags to filter on.
     */
    tags?: pulumi.Input<pulumi.Input<string>[]>;
}
