import type { Construct } from 'constructs';
import type * as glue from '../../../aws-glue';
import * as iam from '../../../aws-iam';
import type { CfnDeliveryStream } from '../kinesisfirehose.generated';
/**
 * Options when binding a SchemaConfig to a Destination
 */
export interface SchemaConfigurationBindOptions {
    /**
     * The IAM Role that will be used by the Delivery Stream for access to the Glue data catalog for record format conversion.
     */
    readonly role: iam.IRole;
}
/**
 * Options for creating a Schema for record format conversion from a `glue.CfnTable`
 */
export interface SchemaConfigurationFromCfnTableProps {
    /**
     * Specifies the table version for the output data schema.
     *
     * if set to `LATEST`, Firehose uses the most recent table version. This means that any updates to the table are automatically picked up.
     *
     * @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html#cfn-kinesisfirehose-deliverystream-schemaconfiguration-versionid
     * @default `LATEST`
     */
    readonly versionId?: string;
    /**
     * The region of the database the table is in.
     *
     * @default the region of the stack that contains the table reference is used
     */
    readonly region?: string;
}
/**
 * Represents a schema configuration for Firehose S3 data record format conversion.
 *
 * @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dataformatconversionconfiguration.html#cfn-kinesisfirehose-deliverystream-dataformatconversionconfiguration-schemaconfiguration
 */
export declare class SchemaConfiguration {
    private readonly databaseName;
    private readonly tableName;
    private readonly catalogId;
    private readonly databaseRegion;
    private readonly versionId;
    /**
     * Obtain schema configuration for data record format conversion from an `aws_glue.CfnTable`
     */
    static fromCfnTable(table: glue.CfnTable, props?: SchemaConfigurationFromCfnTableProps): SchemaConfiguration;
    private constructor();
    /**
     * Binds this Schema to the Destination, adding the necessary permissions to the Destination role.
     */
    bind(scope: Construct, options: SchemaConfigurationBindOptions): CfnDeliveryStream.SchemaConfigurationProperty;
}
