export type ResourceConfig<T extends {
    id: string;
}> = {
    endpoint: string;
    params?: Record<string, any>;
    similar?: string;
    routeName: string;
    notFound?: {
        routeName?: string;
        stripParams?: boolean;
        done?: VoidFunction;
    };
    onFetch?: VoidFunction;
    onFetched?: (resource: T) => void;
};
/**
 *
 * @remarks
 * Diese Methode kann nur gleichzeitig mit dem {@link https://router.vuejs.org/ | Vue Router} verwendet werden
 *
 * @param cfg - FetchConfig
 */
export declare function useResource<T extends {
    id: string;
}>(cfg: ResourceConfig<T>): {
    renderKey: symbol;
    isLoading: boolean;
    resource: T | undefined;
    similarResources: T[] | undefined;
    refrech: () => void;
    refrechSimilar: () => void;
};
