import * as core from "@terrascript/core";
export interface MessageArgs extends core.SchemaArgs {
    content: string | core.StringOut;
    contentType: string | core.StringOut;
    groupNumber?: number | core.NumberOut;
}
export declare class Message extends core.Schema<MessageArgs> {
    content: string | core.StringOut;
    contentType: string | core.StringOut;
    groupNumber?: number | core.NumberOut;
}
export interface ConfirmationPromptArgs extends core.SchemaArgs {
    maxAttempts: number | core.NumberOut;
    message: core.Array<Message> | core.ArrayOut<Message>;
    responseCard?: string | core.StringOut;
}
export declare class ConfirmationPrompt extends core.Schema<ConfirmationPromptArgs> {
    maxAttempts: number | core.NumberOut;
    message: core.Array<Message> | core.ArrayOut<Message>;
    responseCard?: string | core.StringOut;
}
export interface RejectionStatementArgs extends core.SchemaArgs {
    message: core.Array<Message> | core.ArrayOut<Message>;
    responseCard?: string | core.StringOut;
}
export declare class RejectionStatement extends core.Schema<RejectionStatementArgs> {
    message: core.Array<Message> | core.ArrayOut<Message>;
    responseCard?: string | core.StringOut;
}
export interface PromptArgs extends core.SchemaArgs {
    maxAttempts: number | core.NumberOut;
    message: core.Array<Message> | core.ArrayOut<Message>;
    responseCard?: string | core.StringOut;
}
export declare class Prompt extends core.Schema<PromptArgs> {
    maxAttempts: number | core.NumberOut;
    message: core.Array<Message> | core.ArrayOut<Message>;
    responseCard?: string | core.StringOut;
}
export interface FollowUpPromptArgs extends core.SchemaArgs {
    prompt: Prompt;
    rejectionStatement: RejectionStatement;
}
export declare class FollowUpPrompt extends core.Schema<FollowUpPromptArgs> {
    prompt: Prompt;
    rejectionStatement: RejectionStatement;
}
export interface DialogCodeHookArgs extends core.SchemaArgs {
    messageVersion: string | core.StringOut;
    uri: string | core.StringOut;
}
export declare class DialogCodeHook extends core.Schema<DialogCodeHookArgs> {
    messageVersion: string | core.StringOut;
    uri: string | core.StringOut;
}
export interface CodeHookArgs extends core.SchemaArgs {
    messageVersion: string | core.StringOut;
    uri: string | core.StringOut;
}
export declare class CodeHook extends core.Schema<CodeHookArgs> {
    messageVersion: string | core.StringOut;
    uri: string | core.StringOut;
}
export interface FulfillmentActivityArgs extends core.SchemaArgs {
    codeHook?: CodeHook;
    type: string | core.StringOut;
}
export declare class FulfillmentActivity extends core.Schema<FulfillmentActivityArgs> {
    codeHook?: CodeHook;
    type: string | core.StringOut;
}
export interface ValueElicitationPromptArgs extends core.SchemaArgs {
    maxAttempts: number | core.NumberOut;
    message: core.Array<Message> | core.ArrayOut<Message>;
    responseCard?: string | core.StringOut;
}
export declare class ValueElicitationPrompt extends core.Schema<ValueElicitationPromptArgs> {
    maxAttempts: number | core.NumberOut;
    message: core.Array<Message> | core.ArrayOut<Message>;
    responseCard?: string | core.StringOut;
}
export interface SlotArgs extends core.SchemaArgs {
    description?: string | core.StringOut;
    name: string | core.StringOut;
    priority?: number | core.NumberOut;
    responseCard?: string | core.StringOut;
    sampleUtterances?: core.Array<string> | core.ArrayOut<core.StringOut>;
    slotConstraint: string | core.StringOut;
    slotType: string | core.StringOut;
    slotTypeVersion?: string | core.StringOut;
    valueElicitationPrompt?: ValueElicitationPrompt;
}
export declare class Slot extends core.Schema<SlotArgs> {
    description?: string | core.StringOut;
    name: string | core.StringOut;
    priority?: number | core.NumberOut;
    responseCard?: string | core.StringOut;
    sampleUtterances?: core.Array<string> | core.ArrayOut<core.StringOut>;
    slotConstraint: string | core.StringOut;
    slotType: string | core.StringOut;
    slotTypeVersion?: string | core.StringOut;
    valueElicitationPrompt?: ValueElicitationPrompt;
}
export interface ConclusionStatementArgs extends core.SchemaArgs {
    message: core.Array<Message> | core.ArrayOut<Message>;
    responseCard?: string | core.StringOut;
}
export declare class ConclusionStatement extends core.Schema<ConclusionStatementArgs> {
    message: core.Array<Message> | core.ArrayOut<Message>;
    responseCard?: string | core.StringOut;
}
export interface IntentArgs extends core.ResourceArgs {
    conclusionStatement?: ConclusionStatement;
    confirmationPrompt?: ConfirmationPrompt;
    createVersion?: boolean | core.BooleanOut;
    description?: string | core.StringOut;
    dialogCodeHook?: DialogCodeHook;
    followUpPrompt?: FollowUpPrompt;
    fulfillmentActivity: FulfillmentActivity;
    name: string | core.StringOut;
    parentIntentSignature?: string | core.StringOut;
    rejectionStatement?: RejectionStatement;
    sampleUtterances?: core.Array<string> | core.ArrayOut<core.StringOut>;
    slot?: core.Array<Slot> | core.ArrayOut<Slot>;
}
export declare class Intent extends core.Resource<IntentArgs> {
    arn: string | core.StringOut;
    checksum: string | core.StringOut;
    conclusionStatement?: ConclusionStatement;
    confirmationPrompt?: ConfirmationPrompt;
    createVersion?: boolean | core.BooleanOut;
    createdDate: string | core.StringOut;
    description?: string | core.StringOut;
    dialogCodeHook?: DialogCodeHook;
    followUpPrompt?: FollowUpPrompt;
    fulfillmentActivity: FulfillmentActivity;
    id: string | core.StringOut;
    lastUpdatedDate: string | core.StringOut;
    name: string | core.StringOut;
    parentIntentSignature?: string | core.StringOut;
    rejectionStatement?: RejectionStatement;
    sampleUtterances?: core.Array<string> | core.ArrayOut<core.StringOut>;
    slot?: core.Array<Slot> | core.ArrayOut<Slot>;
    version: string | core.StringOut;
    constructor(name: string, args?: IntentArgs);
    getNamespace(): string;
}
//# sourceMappingURL=intent.d.ts.map