import * as client from '@kubernetes/client-node';
export declare function getItem(kind: string, namespace: string, item: any): Promise<any>;
export declare function getItemByItemPath(itemPath: string, apiGroup?: string, apiVersion?: string): Promise<any>;
export declare function writeSecret(secret: any, namespace: any): Promise<any>;
export declare function writeStatus(kind: string, namespace: string, item: any): Promise<any>;
export declare function writeFinalizer(kind: string, namespace: string, item: any): Promise<any>;
export declare function listItems(kind: string, namespace: string, kc: any, opts: any): Promise<Array<any>>;
export declare function observeList(kind: string, namespace: string, revision: string, kc: any, opts: any): AsyncGenerator<any, void, unknown>;
export declare function getConnection(): Promise<{
    kc: client.KubeConfig;
    opts: any;
}>;
export declare function upsertResult(namespace: string, item: any, result: string): Promise<any>;
export declare function deleteSecret(secretName: string, namespace: string): Promise<any>;
export declare function upsertSecret(namespace: string, secret: any): Promise<void>;
export declare function getSecret(namespace: string, secretName: string): Promise<client.V1Secret>;
export declare function getTFResult(namespace: string, item: any): Promise<any>;
/**
 * Check if the item has been renamed, by searching items of the
 * same kind with the name specified in the label "firestartr.dev/old-name"
 * @param {string} namespace - Namespace to use
 * @param {any} item - Object to check if has been renamed
 */
export declare function checkIfRenamed(namespace: string, item: any): Promise<boolean>;
export declare function upsertFinalizer(kind: string, namespace: string, item: any, finalizer: string): Promise<any>;
/**
 * Remove the given finalizer
 * @param {string} kind - Kind of the item
 * @param {string} namespace - Namespace of the item
 * @param {any | string} item - Item to remove the finalizer or the name of the item
 * @param finalizer - Finalizer to remove
 * @returns {void}
 */
export declare function unsetFinalizer(kind: string, namespace: string, item: any | string, finalizer: string): Promise<any>;
export declare function writeTerraformOuputInTFResult(item: any, output: string): Promise<any>;
export declare function writeConnectionSecret(item: any, outputsConnection: any, finalize?: boolean): Promise<void>;
export declare function writePlanInGithubPR(prUrl: string, planText: string): Promise<void>;
export declare function addApplyCommitStatus(cr: any, state: 'error' | 'failure' | 'pending' | 'success', targetURL?: string, description?: string, context?: string): Promise<void>;
export declare function addDestroyCommitStatus(cr: any, state: 'error' | 'failure' | 'pending' | 'success', description?: string, context?: string): Promise<void>;
export declare function addPlanStatusCheck(prUrl: string, summary: string, status?: string, isFailure?: boolean): Promise<void>;
export declare function createDryRun(manifest: any, namespace: string): Promise<void>;
export declare function updateDryRun(manifest: any, namespace: string): Promise<void>;
