import * as React from 'react';
import { FetchOperationTargetType, FetchOperationTypeToTarget } from './dataFetcher';
/**
 * Props for {@link WithFetchStatus} component.
 *
 * @see {@link WithFetchStatus}
 */
export interface WithFetchStatusProps<T extends FetchOperationTargetType> {
    /**
     * Fetch operation type.
     */
    type: T;
    /**
     * Fetch operation target.
     */
    target: FetchOperationTypeToTarget[T];
    /**
     * Decorated element.
     */
    children: React.ReactElement<{
        className?: string;
    }>;
}
/**
 * Decorator component that styles the child element based on the fetching status
 * of the graph operation target.
 *
 * Depending on the fetch status, the child element will be rendered
 * with an additional CSS class:
 *   - none or finished - no additional classes;
 *   - loading - `reactodia-fetch-status--loading`;
 *   - failed - `reactodia-fetch-status--error`.
 *
 * @category Components
 * @see {@link FetchOperation}
 */
export declare function WithFetchStatus<T extends FetchOperationTargetType>(props: WithFetchStatusProps<T>): React.ReactElement<{
    className?: string;
}, string | React.JSXElementConstructor<any>>;
//# sourceMappingURL=withFetchStatus.d.ts.map