import { ApiKeyEnvironment } from "@prisma/client";
import { ApiKeyService } from "./api-key.service";
import { CreatedApiKeyDto } from "./dto/api-key.dto";
import { CreateApiKeyDto } from "./dto/create-api-key.dto";
declare class CreateApiKeyPairDto {
    environment: ApiKeyEnvironment;
    label?: string;
}
declare class CreatedApiKeyPairDto {
    secret: CreatedApiKeyDto;
    publishable: CreatedApiKeyDto;
}
export declare class ApiKeyAdminController {
    private readonly service;
    constructor(service: ApiKeyService);
    list(merchantId: string): Promise<{
        type: import("@prisma/client").$Enums.ApiKeyType;
        id: string;
        createdAt: Date;
        prefix: string;
        environment: import("@prisma/client").$Enums.ApiKeyEnvironment;
        scope: import("@prisma/client").$Enums.ApiKeyScope;
        label: string | null;
        lastUsedAt: Date | null;
        revokedAt: Date | null;
    }[]>;
    create(merchantId: string, dto: CreateApiKeyDto): Promise<{
        secret: string;
        type: import("@prisma/client").$Enums.ApiKeyType;
        id: string;
        createdAt: Date;
        prefix: string;
        environment: import("@prisma/client").$Enums.ApiKeyEnvironment;
        scope: import("@prisma/client").$Enums.ApiKeyScope;
        label: string | null;
    }>;
    createPair(merchantId: string, dto: CreateApiKeyPairDto): Promise<CreatedApiKeyPairDto>;
    revoke(merchantId: string, id: string): Promise<void>;
}
export {};
