import { SessionBehavior } from '../runtime/SessionBehavior'; import { SystemAct } from '../systemActs/SystemAct'; import { IControlResult } from './interfaces/IControlResult'; /** * Represents "what" the system should communicate to the user. * * This is the output object from the handle and initiative phases and is the * intermediate representation passed to the render phase. * * If the session is not being closed, the ControlResult must contain exactly * one `InitiativeAct`. */ export declare class ControlResult implements IControlResult { acts: SystemAct[]; sessionBehavior: SessionBehavior; constructor(acts: SystemAct[], sessionBehavior: SessionBehavior); toString(): string; /** * Determines if the result has an initiative act. */ hasInitiativeAct(): boolean; } /** * Builder that creates a ControlResult. */ export declare class ControlResultBuilder { acts: SystemAct[]; sessionBehavior: SessionBehavior; constructor(acts?: SystemAct[]); build(): ControlResult; /** * Add a system act. * * Usage: * * If the session needs to be ended, also call `resultBuilder.endSession()`. * * @param act - System act. */ addAct(act: SystemAct): this; /** * End the user session. * * See * https://developer.amazon.com/en-GB/docs/alexa/custom-skills/manage-skill-session-and-session-attributes.html#session-lifecycle * * Framework behavior: * * this will cause the framework to call * `ask-core.ResponseBuilder.withShouldEndSession(true)`. * * Skill/device behavior: * * Subsequent utterances will not be routed to the skill. * * A new launch command will start a fresh session. * */ endSession(): void; /** * Place the user session in the idle state. * * https://developer.amazon.com/en-GB/docs/alexa/custom-skills/manage-skill-session-and-session-attributes.html#session-lifecycle * * * Framework behavior: * * this will cause the framework to call * `ask-core.ResponseBuilder.withShouldEndSession(undefined)`. * * Skill/device behavior: * * The session remains alive but the microphone is closed. * * The user can interact with the skill but must use the wake-word. */ enterIdleState(): void; toString(): string; /** * Determines if the result has an initiative act. */ hasInitiativeAct(): boolean; } //# sourceMappingURL=ControlResult.d.ts.map