import * as pulumi from "@pulumi/pulumi";
import * as outputs from "./types/output";
/**
 * The `consul.AclAuthMethod` data source returns the information related to a
 * [Consul Auth Method](https://www.consul.io/docs/acl/acl-auth-methods.html).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as consul from "@pulumi/consul";
 *
 * const test = consul.getAclAuthMethod({
 *     name: "minikube",
 * });
 * export const consulAclAuthMethod = test.then(test => test.config);
 * ```
 */
export declare function getAclAuthMethod(args: GetAclAuthMethodArgs, opts?: pulumi.InvokeOptions): Promise<GetAclAuthMethodResult>;
/**
 * A collection of arguments for invoking getAclAuthMethod.
 */
export interface GetAclAuthMethodArgs {
    /**
     * The name of the ACL Auth Method.
     */
    name: string;
    /**
     * The namespace to lookup the auth method.
     */
    namespace?: string;
    /**
     * The partition to lookup the auth method.
     */
    partition?: string;
}
/**
 * A collection of values returned by getAclAuthMethod.
 */
export interface GetAclAuthMethodResult {
    /**
     * The configuration options of the ACL Auth Method. This attribute is
     * deprecated and will be removed in a future version. If the configuration is
     * too complex to be represented as a map of strings, it will be blank.
     * `configJson` should be used instead.
     *
     * @deprecated The config attribute is deprecated, please use configJson instead.
     */
    readonly config: {
        [key: string]: string;
    };
    /**
     * The configuration options of the ACL Auth Method.
     */
    readonly configJson: string;
    /**
     * The description of the ACL Auth Method.
     */
    readonly description: string;
    /**
     * An optional name to use instead of the name attribute when
     * displaying information about this auth method.
     */
    readonly displayName: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The maximum life of any token created by this auth method.
     */
    readonly maxTokenTtl: string;
    readonly name: string;
    readonly namespace?: string;
    /**
     * (Enterprise Only) A set of rules that control which
     * namespace tokens created via this auth method will be created within
     */
    readonly namespaceRules: outputs.GetAclAuthMethodNamespaceRule[];
    readonly partition?: string;
    /**
     * The kind of token that this auth method produces. This can
     * be either 'local' or 'global'.
     */
    readonly tokenLocality: string;
    /**
     * The type of the ACL Auth Method.
     */
    readonly type: string;
}
/**
 * The `consul.AclAuthMethod` data source returns the information related to a
 * [Consul Auth Method](https://www.consul.io/docs/acl/acl-auth-methods.html).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as consul from "@pulumi/consul";
 *
 * const test = consul.getAclAuthMethod({
 *     name: "minikube",
 * });
 * export const consulAclAuthMethod = test.then(test => test.config);
 * ```
 */
export declare function getAclAuthMethodOutput(args: GetAclAuthMethodOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetAclAuthMethodResult>;
/**
 * A collection of arguments for invoking getAclAuthMethod.
 */
export interface GetAclAuthMethodOutputArgs {
    /**
     * The name of the ACL Auth Method.
     */
    name: pulumi.Input<string>;
    /**
     * The namespace to lookup the auth method.
     */
    namespace?: pulumi.Input<string>;
    /**
     * The partition to lookup the auth method.
     */
    partition?: pulumi.Input<string>;
}
