import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * A template in the Cases domain. This template is used to define the case object model (that is, to define what data can be captured on cases) in a Cases domain. A template must have a unique name within a domain, and it must reference existing field IDs and layout IDs.
 */
export declare function getTemplate(args: GetTemplateArgs, opts?: pulumi.InvokeOptions): Promise<GetTemplateResult>;
export interface GetTemplateArgs {
    /**
     * The Amazon Resource Name (ARN) of the template.
     */
    templateArn: string;
}
export interface GetTemplateResult {
    /**
     * The time at which the template was created.
     */
    readonly createdTime?: string;
    /**
     * A description explaining the purpose and use case for this template. Should indicate what types of cases this template is designed for and any specific workflow it supports.
     */
    readonly description?: string;
    /**
     * The time at which the template was created or last modified.
     */
    readonly lastModifiedTime?: string;
    /**
     * Object to store configuration of layouts associated to the template.
     */
    readonly layoutConfiguration?: outputs.cases.TemplateLayoutConfiguration;
    /**
     * A name for the template. It must be unique per domain.
     */
    readonly name?: string;
    /**
     * A list of fields that must contain a value for a case to be successfully created with this template.
     */
    readonly requiredFields?: outputs.cases.TemplateRequiredField[];
    /**
     * A list of case rules (also known as case field conditions) on a template.
     */
    readonly rules?: outputs.cases.TemplateRule[];
    /**
     * The status of the template.
     */
    readonly status?: enums.cases.TemplateStatus;
    /**
     * The tags that you attach to this template.
     */
    readonly tags?: outputs.Tag[];
    /**
     * The Amazon Resource Name (ARN) of the template.
     */
    readonly templateArn?: string;
    /**
     * The unique identifier of a template.
     */
    readonly templateId?: string;
}
/**
 * A template in the Cases domain. This template is used to define the case object model (that is, to define what data can be captured on cases) in a Cases domain. A template must have a unique name within a domain, and it must reference existing field IDs and layout IDs.
 */
export declare function getTemplateOutput(args: GetTemplateOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetTemplateResult>;
export interface GetTemplateOutputArgs {
    /**
     * The Amazon Resource Name (ARN) of the template.
     */
    templateArn: pulumi.Input<string>;
}
