type Resolver = (value?: any) => void;
type Rejecter = (error: Error) => void;
/**
 * Barrier is just a Promise which has resolve and reject exposed as instance
 * methods.
 *
 * The implementation is adopted from `@dr.pogodin/react-utils`, with private
 * fields replaced by underscore-prefixed public fields to avoid issues with
 * React Native, for which see:
 * https://github.com/birdofpreyru/react-native-static-server/issues/6
 * https://github.com/birdofpreyru/react-native-static-server/issues/9
 *
 * Docs: https://dr.pogodin.studio/docs/react-utils/docs/api/classes/Barrier
 */
export declare class Barrier<T> extends Promise<T> {
    _resolve: Resolver;
    _resolved: boolean;
    _reject: Rejecter;
    _rejected: boolean;
    constructor(executor?: Function);
    get resolve(): Resolver;
    get resolved(): boolean;
    get reject(): Rejecter;
    get rejected(): boolean;
    then<TR1>(onFulfilled: ((value: T) => TR1 | PromiseLike<TR1>) | null | undefined, onRejected: any): Barrier<TR1>;
}
export {};
//# sourceMappingURL=Barrier.d.ts.map