import type { Construct } from 'constructs';
import type { IKeyGroupRef, IPublicKeyRef, KeyGroupReference } from './cloudfront.generated';
import type { IResource } from '../../core';
import { Resource } from '../../core';
/**
 * Represents a Key Group
 */
export interface IKeyGroup extends IResource, IKeyGroupRef {
    /**
     * The ID of the key group.
     * @attribute
     */
    readonly keyGroupId: string;
}
/**
 * Properties for creating a Public Key
 */
export interface KeyGroupProps {
    /**
     * A name to identify the key group.
     * @default - generated from the `id`
     */
    readonly keyGroupName?: string;
    /**
     * A comment to describe the key group.
     * @default - no comment
     */
    readonly comment?: string;
    /**
     * A list of public keys to add to the key group.
     */
    readonly items: IPublicKeyRef[];
}
/**
 * A Key Group configuration
 *
 * @resource AWS::CloudFront::KeyGroup
 */
export declare class KeyGroup extends Resource implements IKeyGroup {
    /** Uniquely identifies this class. */
    static readonly PROPERTY_INJECTION_ID: string;
    /** Imports a Key Group from its id. */
    static fromKeyGroupId(scope: Construct, id: string, keyGroupId: string): IKeyGroup;
    readonly keyGroupId: string;
    readonly keyGroupRef: KeyGroupReference;
    constructor(scope: Construct, id: string, props: KeyGroupProps);
    private generateName;
}
