import { ResourceBase, ResourceTag as Inner_ResourceTag } from "../../resource";
import { Value, List } from "../../data-types";
export declare class CustomerManagedS3 {
    Bucket: Value<string>;
    RoleArn: Value<string>;
    KeyPrefix?: Value<string>;
    constructor(properties: CustomerManagedS3);
}
export declare class ServiceManagedS3 {
    constructor(properties: ServiceManagedS3);
}
export declare class ChannelStorage {
    CustomerManagedS3?: CustomerManagedS3;
    ServiceManagedS3?: ServiceManagedS3;
    constructor(properties: ChannelStorage);
}
export declare class RetentionPeriod {
    NumberOfDays?: Value<number>;
    Unlimited?: Value<boolean>;
    constructor(properties: RetentionPeriod);
}
export interface ChannelProperties {
    ChannelName?: Value<string>;
    ChannelStorage?: ChannelStorage;
    RetentionPeriod?: RetentionPeriod;
    Tags?: List<Inner_ResourceTag>;
}
export default class Inner_Channel extends ResourceBase<ChannelProperties> {
    static CustomerManagedS3: typeof CustomerManagedS3;
    static ServiceManagedS3: typeof ServiceManagedS3;
    static ChannelStorage: typeof ChannelStorage;
    static RetentionPeriod: typeof RetentionPeriod;
    constructor(properties: ChannelProperties);
}
