import { Response } from 'express';
import { AccessService } from './services/access.service';
import { CreateSSHKeyDto } from './dto/create-ssh-key.dto';
import { BearerTokenDto } from './dto/bearer-token.dto';
import { CreateBearerTokenDto } from './dto/create-bearer-token.dto';
import { ProviderRefreshTokenDto } from './dto/refresh-token.dto';
import { CreateApiTokenDto } from './dto/create-api-token.dto';
import { ApiTokenDto } from './dto/api-token.dto';
import { SSHKeyDto } from './dto/ssh-key.dto';
import { UpdateSSHKeyDto } from './dto/update-ssh-key.dto';
import { CloudProvider } from '../providers/enums/cloud-provider.enum';
export declare class AccessController {
    private readonly accessService;
    constructor(accessService: AccessService);
    listSSHKeys(provider?: CloudProvider, clusterId?: string, clusterNodeId?: string, autoGenerated?: string): Promise<SSHKeyDto[]>;
    addSSHKey(req: any, createSSHKeyDto: CreateSSHKeyDto, res: Response): Promise<SSHKeyDto>;
    updateSSHKey(id: string, updateSSHKeyDto: UpdateSSHKeyDto, res: Response): Promise<SSHKeyDto>;
    removeSSHKey(req: any, id: string, removeFromProviders?: string, provider?: CloudProvider): Promise<void>;
    generateBearerToken(createBearerTokenDto: CreateBearerTokenDto): Promise<BearerTokenDto>;
    refreshToken(dto: ProviderRefreshTokenDto): Promise<BearerTokenDto>;
    listBearerTokens(): Promise<import("./entities/credentials.entity").ProviderCredentialsEntity[]>;
    removeBearerToken(id: string): Promise<void>;
    listApiTokens(): Promise<ApiTokenDto[]>;
    createApiToken(createApiTokenDto: CreateApiTokenDto): Promise<ApiTokenDto>;
    getApiToken(id: string): Promise<ApiTokenDto>;
    removeApiToken(id: string): Promise<{
        success: boolean;
        message: string;
    }>;
}
