import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
export declare function getServerGroups(args?: GetServerGroupsArgs, opts?: pulumi.InvokeOptions): Promise<GetServerGroupsResult>;
/**
 * A collection of arguments for invoking getServerGroups.
 */
export interface GetServerGroupsArgs {
    instanceIds?: string[];
    outputFile?: string;
    projectName?: string;
    serverGroupIds?: string[];
    serverGroupName?: string;
    serverIps?: string[];
    tags?: inputs.nlb.GetServerGroupsTag[];
    type?: string;
    vpcId?: string;
}
/**
 * A collection of values returned by getServerGroups.
 */
export interface GetServerGroupsResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly instanceIds?: string[];
    readonly outputFile?: string;
    readonly projectName?: string;
    readonly serverGroupIds?: string[];
    readonly serverGroupName?: string;
    readonly serverGroups: outputs.nlb.GetServerGroupsServerGroup[];
    readonly serverIps?: string[];
    readonly tags?: outputs.nlb.GetServerGroupsTag[];
    readonly totalCount: number;
    readonly type?: string;
    readonly vpcId?: string;
}
export declare function getServerGroupsOutput(args?: GetServerGroupsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetServerGroupsResult>;
/**
 * A collection of arguments for invoking getServerGroups.
 */
export interface GetServerGroupsOutputArgs {
    instanceIds?: pulumi.Input<pulumi.Input<string>[]>;
    outputFile?: pulumi.Input<string>;
    projectName?: pulumi.Input<string>;
    serverGroupIds?: pulumi.Input<pulumi.Input<string>[]>;
    serverGroupName?: pulumi.Input<string>;
    serverIps?: pulumi.Input<pulumi.Input<string>[]>;
    tags?: pulumi.Input<pulumi.Input<inputs.nlb.GetServerGroupsTagArgs>[]>;
    type?: pulumi.Input<string>;
    vpcId?: pulumi.Input<string>;
}
