import { QueryStatusError, QueryStatusIdle, QueryStatusLoading, QueryStatusSuccess } from './queryStatus';
export interface QueryResultStatusBase<T, E> {
    data?: T;
    error?: E | null;
    isFetching?: boolean;
}
export interface QueryResultStatusIdle<T, E> extends QueryResultStatusBase<T, E>, QueryStatusIdle {
    error?: null;
}
export interface QueryResultStatusLoading<T, E> extends QueryResultStatusBase<T, E>, QueryStatusLoading {
    error?: null;
    isFetching: true;
}
export interface QueryResultStatusError<T, E> extends QueryResultStatusBase<T, E>, QueryStatusError {
    error: E;
}
export interface QueryResultStatusSuccess<T, E> extends QueryResultStatusBase<T, E>, QueryStatusSuccess {
    error?: null;
    data: T;
    isFetching: boolean;
}
export type QueryResultStatus<T, E> = QueryResultStatusIdle<T, E> | QueryResultStatusLoading<T, E> | QueryResultStatusError<T, E> | QueryResultStatusSuccess<T, E>;
//# sourceMappingURL=queryResultStatus.d.ts.map