import { K8sModel, Patch, QueryParams, Selector } from '@openshift-console/dynamic-plugin-sdk';
export type BaseOptions = {
    name?: string;
    ns?: string;
    path?: string;
    cluster?: string;
    queryParams?: QueryParams;
};
export type OptionsCreate<R extends K8sResourceCommon> = BaseOptions & {
    model: K8sModel;
    data: R;
};
export type OptionsGet = BaseOptions & {
    model: K8sModel;
    requestInit?: RequestInit;
};
export type OptionsUpdate<R extends K8sResourceCommon> = BaseOptions & {
    model: K8sModel;
    data: R;
};
export type OptionsPatch<R> = BaseOptions & {
    model: K8sModel;
    resource: R;
    data: Patch[];
};
export type OptionsDelete<R> = BaseOptions & {
    model: K8sModel;
    resource: R;
    requestInit?: RequestInit;
    json?: Record<string, any>;
};
type GetResourceURL = (params: {
    model: K8sModel;
    ns?: string;
    name?: string;
    cluster?: string;
    queryParams?: QueryParams;
}) => Promise<string>;
export type Options = {
    ns?: string;
    name?: string;
    path?: string;
    queryParams?: QueryParams;
    cluster?: string;
};
export declare const getResourcePath: (model: K8sModel, options: Options) => string;
export declare const buildResourceURL: (params: {
    model: K8sModel;
    ns?: string;
    name?: string;
    cluster?: string;
    queryParams?: QueryParams;
    basePath: string;
}) => string;
export declare const getResourceURL: GetResourceURL;
export declare function fleetK8sGet<R extends K8sResourceCommon>(options: OptionsGet): Promise<R>;
export declare function fleetK8sUpdate<R extends K8sResourceCommon>(options: OptionsUpdate<R>): Promise<R>;
export declare function fleetK8sPatch<R extends K8sResourceCommon>(options: OptionsPatch<R>): Promise<R>;
export declare function fleetK8sCreate<R extends K8sResourceCommon>(options: OptionsCreate<R>): Promise<R>;
export declare function fleetK8sDelete<R extends K8sResourceCommon>(options: OptionsDelete<R>): Promise<R>;
export declare const fleetWatch: (model: K8sModel, query: {
    labelSelector?: Selector;
    resourceVersion?: string;
    ns?: string;
    fieldSelector?: string;
    cluster?: string;
} | undefined, backendURL: string) => WebSocket;
export {};
//# sourceMappingURL=apiRequests.d.ts.map