import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
 * Returns a list of available UpCloud hosts.
 * 		A host identifies the host server that virtual machines are run on.
 * 		Only hosts on private cloud to which the calling account has access to are available through this resource.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as upcloud from "@pulumi/upcloud";
 *
 * const allHosts = upcloud.getHosts({});
 * ```
 */
export declare function getHosts(args?: GetHostsArgs, opts?: pulumi.InvokeOptions): Promise<GetHostsResult>;
/**
 * A collection of arguments for invoking getHosts.
 */
export interface GetHostsArgs {
    hosts?: inputs.GetHostsHost[];
}
/**
 * A collection of values returned by getHosts.
 */
export interface GetHostsResult {
    readonly hosts?: outputs.GetHostsHost[];
    /**
     * The ID of this resource.
     */
    readonly id: string;
}
/**
 * Returns a list of available UpCloud hosts.
 * 		A host identifies the host server that virtual machines are run on.
 * 		Only hosts on private cloud to which the calling account has access to are available through this resource.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as upcloud from "@pulumi/upcloud";
 *
 * const allHosts = upcloud.getHosts({});
 * ```
 */
export declare function getHostsOutput(args?: GetHostsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetHostsResult>;
/**
 * A collection of arguments for invoking getHosts.
 */
export interface GetHostsOutputArgs {
    hosts?: pulumi.Input<pulumi.Input<inputs.GetHostsHostArgs>[]>;
}
