import * as pulumi from "@pulumi/pulumi";
/**
 * Use this data source to get information about a user for use in other
 * resources.
 *
 * ## Required scopes
 *
 * This resource requires the following scopes:
 *
 * - [users:read](https://api.slack.com/scopes/users:read)
 * - [users:read.email](https://api.slack.com/scopes/users:read.email)
 *
 * The Slack API methods used by the resource are:
 *
 * - [users.lookupByEmail](https://api.slack.com/methods/users.lookupByEmail)
 * - [users.list](https://api.slack.com/methods/users.list)
 *
 * If you get `missingScope` errors while using this resource check the scopes against
 * the documentation for the methods above.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as slack from "@pulumi/slack";
 *
 * const byName = slack.getUser({
 *     name: "my-user",
 * });
 * const byEmail = slack.getUser({
 *     email: "my-user@example.com",
 * });
 * ```
 */
export declare function getUser(args?: GetUserArgs, opts?: pulumi.InvokeOptions): Promise<GetUserResult>;
/**
 * A collection of arguments for invoking getUser.
 */
export interface GetUserArgs {
    /**
     * The email of the user
     *
     * The data source expects exactly one of these fields, you can't set both.
     */
    email?: string;
    /**
     * The name of the user
     */
    name?: string;
}
/**
 * A collection of values returned by getUser.
 */
export interface GetUserResult {
    readonly email?: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly name?: string;
}
/**
 * Use this data source to get information about a user for use in other
 * resources.
 *
 * ## Required scopes
 *
 * This resource requires the following scopes:
 *
 * - [users:read](https://api.slack.com/scopes/users:read)
 * - [users:read.email](https://api.slack.com/scopes/users:read.email)
 *
 * The Slack API methods used by the resource are:
 *
 * - [users.lookupByEmail](https://api.slack.com/methods/users.lookupByEmail)
 * - [users.list](https://api.slack.com/methods/users.list)
 *
 * If you get `missingScope` errors while using this resource check the scopes against
 * the documentation for the methods above.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as slack from "@pulumi/slack";
 *
 * const byName = slack.getUser({
 *     name: "my-user",
 * });
 * const byEmail = slack.getUser({
 *     email: "my-user@example.com",
 * });
 * ```
 */
export declare function getUserOutput(args?: GetUserOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetUserResult>;
/**
 * A collection of arguments for invoking getUser.
 */
export interface GetUserOutputArgs {
    /**
     * The email of the user
     *
     * The data source expects exactly one of these fields, you can't set both.
     */
    email?: pulumi.Input<string>;
    /**
     * The name of the user
     */
    name?: pulumi.Input<string>;
}
