/// <reference types="node" />
export type FaultDefinition = Record<string, string>;
export declare function defineFault<F extends FaultDefinition, C extends keyof F>(name: string, definition: F): {
    new (code: C, message?: string): {
        readonly name: string;
        readonly code: C;
        because(cause: Error): any;
        message: string;
        stack?: string | undefined;
        cause?: unknown;
    };
    captureStackTrace(targetObject: object, constructorOpt?: Function | undefined): void;
    prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
    stackTraceLimit: number;
};
