import { Observer } from 'rxjs';
export interface ObserverState {
    nextWasCalled: boolean;
    errorWasCalled: boolean;
    completeWasCalled: boolean;
    errorValue: any;
    errorIsExpected: boolean;
    onCompleteCallback: ((value?: unknown) => void) | undefined;
    onErrorCallback: (() => void) | undefined;
}
export interface ObserverSpyConfig {
    expectErrors: boolean;
}
export declare class ObserverSpy<T> implements Observer<T> {
    private onNextValues;
    private state;
    constructor(config?: ObserverSpyConfig);
    next(value: T): void;
    error(errorVal: any): void;
    complete(): void;
    onComplete(): Promise<void>;
    onComplete(callback: (value?: unknown) => void): void;
    onError(): Promise<void>;
    expectErrors(): this;
    getValuesLength(): number;
    getValues(): any[];
    getValueAt(index: number): T;
    getFirstValue(): T;
    getLastValue(): T | undefined;
    receivedNext(): boolean;
    getError(): any;
    receivedError(): boolean;
    receivedComplete(): boolean;
}
//# sourceMappingURL=observer-spy.d.ts.map