import { Failure } from "./types";
/**
 * Properties of `PollskyError` class constructor
 */
export interface PollskyErrorAttributes<T> {
    timestamp: string;
    result?: T;
}
/**
 * ✋ Base class for custom error types.
 */
export declare class PollskyError<T> extends Error {
    timestamp: string;
    result?: T;
    constructor(message: string, { timestamp, result }: PollskyErrorAttributes<T>);
}
export declare class ConditionFunctionError<T> extends PollskyError<T> {
    name: string;
    constructor(props: PollskyErrorAttributes<T>);
}
export declare class AtLeastConditionError<T> extends PollskyError<T> {
    name: string;
    constructor(props: PollskyErrorAttributes<T>);
}
export declare class AtMostConditionError<T> extends PollskyError<T> {
    name: string;
    constructor(props: PollskyErrorAttributes<T>);
}
export declare class ExceptionOccurredError<T> extends PollskyError<T> {
    name: string;
    constructor(errorMsg: string, props: PollskyErrorAttributes<T>);
}
export declare class PollingFailedError<T> extends Error {
    failures: Failure<T>[];
    constructor(failures: Failure<T>[]);
}
