import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * Gets information about a server type.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * const pro2_s = scaleway.instance.getServerType({
 *     name: "PRO2-S",
 *     zone: "nl-ams-1",
 * });
 * ```
 */
export declare function getServerType(args: GetServerTypeArgs, opts?: pulumi.InvokeOptions): Promise<GetServerTypeResult>;
/**
 * A collection of arguments for invoking getServerType.
 */
export interface GetServerTypeArgs {
    /**
     * The name of the server type.
     * Only one of `name` and `snapshotId` should be specified.
     */
    name: string;
    /**
     * `zone`) The zone of the server type (to check the availability of the server type for example).
     */
    zone?: string;
}
/**
 * A collection of values returned by getServerType.
 */
export interface GetServerTypeResult {
    /**
     * The architecture of the server type.
     */
    readonly arch: string;
    /**
     * Whether the server type is available in the zone.
     */
    readonly availability: string;
    /**
     * The specific capabilities of the server type.
     */
    readonly capabilities: outputs.instance.GetServerTypeCapability[];
    /**
     * The number of CPU cores of the server type.
     */
    readonly cpu: number;
    /**
     * Whether the server type will soon reach End Of Service.
     */
    readonly endOfService: boolean;
    /**
     * The number of GPUs of the server type.
     */
    readonly gpu: number;
    /**
     * The hourly price of the server type (in euros).
     */
    readonly hourlyPrice: number;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly name: string;
    /**
     * The network specifications of the server type.
     */
    readonly networks: outputs.instance.GetServerTypeNetwork[];
    /**
     * The amount of RAM of the server type (in bytes).
     */
    readonly ram: number;
    /**
     * The specifications of volumes allowed for the server type.
     */
    readonly volumes: outputs.instance.GetServerTypeVolume[];
    readonly zone?: string;
}
/**
 * Gets information about a server type.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as scaleway from "@pulumiverse/scaleway";
 *
 * const pro2_s = scaleway.instance.getServerType({
 *     name: "PRO2-S",
 *     zone: "nl-ams-1",
 * });
 * ```
 */
export declare function getServerTypeOutput(args: GetServerTypeOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetServerTypeResult>;
/**
 * A collection of arguments for invoking getServerType.
 */
export interface GetServerTypeOutputArgs {
    /**
     * The name of the server type.
     * Only one of `name` and `snapshotId` should be specified.
     */
    name: pulumi.Input<string>;
    /**
     * `zone`) The zone of the server type (to check the availability of the server type for example).
     */
    zone?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getServerType.d.ts.map