import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to get a list of SMS source servers.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const config = new pulumi.Config();
 * const serverName = config.requireObject("serverName");
 * const demo = huaweicloud.Sms.getSourceServers({
 *     name: serverName,
 * });
 * ```
 */
export declare function getSourceServers(args?: GetSourceServersArgs, opts?: pulumi.InvokeOptions): Promise<GetSourceServersResult>;
/**
 * A collection of arguments for invoking getSourceServers.
 */
export interface GetSourceServersArgs {
    /**
     * Specifies the ID of the source server.
     */
    id?: string;
    /**
     * Specifies the IP address of the source server.
     */
    ip?: string;
    /**
     * Specifies the name of the source server.
     */
    name?: string;
    /**
     * Specifies the status of the source server.
     */
    state?: string;
}
/**
 * A collection of values returned by getSourceServers.
 */
export interface GetSourceServersResult {
    /**
     * The ID of the source server.
     */
    readonly id: string;
    /**
     * The IP address of the source server.
     */
    readonly ip?: string;
    /**
     * The disk name, for example, /dev/vda.
     */
    readonly name?: string;
    /**
     * An array of SMS source servers found. Structure is documented below.
     */
    readonly servers: outputs.Sms.GetSourceServersServer[];
    /**
     * The status of the source server.
     */
    readonly state?: string;
}
export declare function getSourceServersOutput(args?: GetSourceServersOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetSourceServersResult>;
/**
 * A collection of arguments for invoking getSourceServers.
 */
export interface GetSourceServersOutputArgs {
    /**
     * Specifies the ID of the source server.
     */
    id?: pulumi.Input<string>;
    /**
     * Specifies the IP address of the source server.
     */
    ip?: pulumi.Input<string>;
    /**
     * Specifies the name of the source server.
     */
    name?: pulumi.Input<string>;
    /**
     * Specifies the status of the source server.
     */
    state?: pulumi.Input<string>;
}
