import { ResolvedExtension } from '@openshift-console/dynamic-plugin-sdk';
import { ResourceRoute, ResourceRouteHandler } from '../extensions/resource';
import { Extension } from '@openshift-console/dynamic-plugin-sdk/lib/types';
export declare const isResourceRoute: (e: Extension) => e is ResourceRoute;
/**
 * Find matching ResourceRoute extension
 * First checks for exact version match, then falls back to version-agnostic match.
 *
 * @param extensions - Array of resolved resource route extensions
 * @param group - The resource group (e.g., 'kubevirt.io')
 * @param kind - The resource kind (e.g., 'VirtualMachine')
 * @param version - The resource version (e.g., 'v1')
 * @returns The handler function if found, null otherwise
 */
export declare const findResourceRouteHandler: (extensions: ResolvedExtension<ResourceRoute>[] | undefined, group: string | undefined, kind: string, version?: string) => ResourceRouteHandler | null;
/**
 * Get extension resource path with parameters
 * Convenience function that combines finding the handler and calling it
 *
 * @param extensions - Array of resolved resource route extensions
 * @param group - The resource group (e.g., 'kubevirt.io')
 * @param kind - The resource kind (e.g., 'VirtualMachine')
 * @param version - The resource version (e.g., 'v1')
 * @param params - Parameters to pass to the handler function
 * @returns The extension path if found, null otherwise
 */
export declare const getExtensionResourcePath: (extensions: ResolvedExtension<ResourceRoute>[] | undefined, group: string | undefined, kind: string, version?: string, params?: {
    cluster: string;
    namespace?: string;
    name: string;
    resource: any;
    model: {
        group?: string;
        version?: string;
        kind: string;
    };
}) => string | null;
//# sourceMappingURL=resourceRouteUtils.d.ts.map