import React, { PureComponent } from 'react';
interface IProps {
    query: (variables: object) => Promise<object>;
    filters?: Function[];
    variables?: object;
    interval?: number;
    onCompleted?: Function;
    onError?: Function;
    component?: any;
    className?: string;
    type?: 'cover' | 'merge';
    flag?: boolean;
}
interface IState {
    data: any;
    loading: boolean;
    error: any;
    savedVariables: object;
}
declare class Query extends PureComponent<IProps, IState> {
    private subject$;
    private timeout;
    constructor(props: IProps);
    componentDidMount(): void;
    componentDidUpdate(prevProps: IProps): void;
    componentWillUnmount(): void;
    refetch: (nextVariables?: object) => void;
    render(): React.ReactNode;
}
export default Query;
