import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Creates an authorizer.
 */
export declare function getAuthorizer(args: GetAuthorizerArgs, opts?: pulumi.InvokeOptions): Promise<GetAuthorizerResult>;
export interface GetAuthorizerArgs {
    /**
     * The authorizer name.
     */
    authorizerName: string;
}
export interface GetAuthorizerResult {
    /**
     * The Amazon Resource Name (ARN) of the authorizer.
     */
    readonly arn?: string;
    /**
     * The authorizer's Lambda function ARN.
     */
    readonly authorizerFunctionArn?: string;
    /**
     * When `true` , the result from the authorizer's Lambda function is cached for clients that use persistent HTTP connections. The results are cached for the time specified by the Lambda function in `refreshAfterInSeconds` . This value doesn't affect authorization of clients that use MQTT connections.
     */
    readonly enableCachingForHttp?: boolean;
    /**
     * The status of the authorizer.
     *
     * Valid values: `ACTIVE` | `INACTIVE`
     */
    readonly status?: enums.iot.AuthorizerStatus;
    /**
     * Metadata which can be used to manage the custom authorizer.
     *
     * > For URI Request parameters use format: ...key1=value1&key2=value2...
     * >
     * > For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..."
     * >
     * > For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."
     */
    readonly tags?: outputs.Tag[];
    /**
     * The key used to extract the token from the HTTP headers.
     */
    readonly tokenKeyName?: string;
    /**
     * The public keys used to validate the token signature returned by your custom authentication service.
     */
    readonly tokenSigningPublicKeys?: {
        [key: string]: string;
    };
}
/**
 * Creates an authorizer.
 */
export declare function getAuthorizerOutput(args: GetAuthorizerOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetAuthorizerResult>;
export interface GetAuthorizerOutputArgs {
    /**
     * The authorizer name.
     */
    authorizerName: pulumi.Input<string>;
}
