import type Owner from "@ember/owner"; import Component from "@glimmer/component"; import { type PromiseState } from "@warp-drive/core/reactive"; import type { Awaitable } from "@warp-drive/core/request"; export declare const and: (x: unknown, y: unknown) => boolean; interface ThrowSignature { Args: { error: E; }; } /** * The `` component is used to throw an error in a template. * * That's all it does. So don't use it unless the application should * throw an error if it reaches this point in the template. * * ```gts * * ``` * * @category Components * @public */ export declare class Throw extends Component> { constructor(owner: Owner, args: ThrowSignature["Args"]); } interface AwaitSignature< T, E = Error | string | object > { Args: { promise: Promise | Awaitable; }; Blocks: { pending: []; error: [error: E]; success: [value: T]; }; } /** * The `` component allow you to utilize reactive control flow * for asynchronous states in your application. * * Await is ideal for handling "boundaries", outside which some state is * still allowed to be unresolved and within which it MUST be resolved. * * ```gts * import { Await } from '@warp-drive/ember'; * * * ``` * * The `` component requires that error states are properly handled. * * If no error block is provided and the promise rejects, the error will * be thrown. * * @category Components * @public */ export declare class Await< T, E > extends Component> { get state(): Readonly>; get error(): E; get result(): T; } export {};