import { type Container } from '../../../resources/container/container.js';
import { type TarCreateFilter } from '../../../../../types/aliases.js';
import { type TDirectoryData } from '../../../t-directory-data.js';
import { type ContainerReference } from '../../../resources/container/container-reference.js';
import { type KubeConfig } from '@kubernetes/client-node';
import { type Pods } from '../../../resources/pod/pods.js';
export declare class K8ClientContainer implements Container {
    private readonly kubeConfig;
    private readonly containerReference;
    private readonly pods;
    private readonly logger;
    constructor(kubeConfig: KubeConfig, containerReference: ContainerReference, pods: Pods);
    copyFrom(sourcePath: string, destinationDirectory: string): Promise<unknown>;
    copyTo(sourcePath: string, destinationDirectory: string, filter?: TarCreateFilter | undefined): Promise<boolean>;
    execContainer(command: string | string[]): Promise<string>;
    hasDir(destinationPath: string): Promise<boolean>;
    hasFile(destinationPath: string, filters?: object): Promise<boolean>;
    listDir(destinationPath: string): Promise<any[] | TDirectoryData[]>;
    mkdir(destinationPath: string): Promise<string>;
    private tempFileFor;
    private deleteTempFile;
    private exitWithError;
    private handleCallback;
    private registerConnectionOnError;
    private registerConnectionOnMessage;
    private registerErrorStreamOnData;
    private registerErrorStreamOnError;
    private registerOutputPassthroughStreamOnData;
    private registerOutputFileStreamOnDrain;
}
