import { HTMLStencilElement } from "../stencil-public-runtime";
import { ComponentPrototype } from "./utils";
export declare class QuantumError extends Error {
  target?: HTMLStencilElement | undefined;
  constructor(err: Error | string, target?: HTMLStencilElement | undefined);
}
export declare function throwQuantum(el: HTMLStencilElement, error: string | Error): void;
export interface ErrorOptions {
  namespace?: string;
}
export declare function Throw(opts?: ErrorOptions): (prototype: ComponentPrototype, propertyName: string) => void;
export declare function ContextError(opts?: ErrorOptions): (prototype: ComponentPrototype, propertyName: string) => void;
export interface CatchOptions extends ErrorOptions {
  provide?: string;
}
export declare function Catch(opts?: CatchOptions): (prototype: ComponentPrototype, propertyName: string, propertyDesciptor: PropertyDescriptor) => PropertyDescriptor;
