import { type ApiTokenSchema, type ApiTokensSchema } from '../../../openapi/index.js';
import { type IUnleashConfig } from '../../../types/index.js';
import type { IUnleashServices } from '../../../services/index.js';
import type { IAuthRequest } from '../../unleash-types.js';
import Controller from '../../controller.js';
import type { Response } from 'express';
import type { CreateProjectApiTokenSchema } from '../../../openapi/spec/create-project-api-token-schema.js';
interface ProjectTokenParam {
    token: string;
    projectId: string;
}
export declare class ProjectApiTokenController extends Controller {
    private apiTokenService;
    private accessService;
    private frontendApiService;
    private openApiService;
    private projectService;
    constructor(config: IUnleashConfig, { apiTokenService, accessService, frontendApiService, openApiService, projectService, }: Pick<IUnleashServices, 'apiTokenService' | 'accessService' | 'frontendApiService' | 'openApiService' | 'projectService'>);
    getProjectApiTokens(req: IAuthRequest, res: Response<ApiTokensSchema>): Promise<void>;
    createProjectApiToken(req: IAuthRequest<{
        projectId: string;
    }, CreateProjectApiTokenSchema>, res: Response<ApiTokenSchema>): Promise<any>;
    deleteProjectApiToken(req: IAuthRequest<ProjectTokenParam>, res: Response): Promise<void>;
    private tokenEquals;
    private accessibleTokens;
}
export {};
//# sourceMappingURL=api-token.d.ts.map