import { ResourceBase } from "../../resource";
import { Value, List } from "../../data-types";
export declare class ResourceCreationLimitPolicy {
    NewGameSessionsPerCreator?: Value<number>;
    PolicyPeriodInMinutes?: Value<number>;
    constructor(properties: ResourceCreationLimitPolicy);
}
export declare class IpPermission {
    FromPort: Value<number>;
    IpRange: Value<string>;
    Protocol: Value<string>;
    ToPort: Value<number>;
    constructor(properties: IpPermission);
}
export declare class ServerProcess {
    ConcurrentExecutions: Value<number>;
    LaunchPath: Value<string>;
    Parameters?: Value<string>;
    constructor(properties: ServerProcess);
}
export declare class RuntimeConfiguration {
    GameSessionActivationTimeoutSeconds?: Value<number>;
    MaxConcurrentGameSessionActivations?: Value<number>;
    ServerProcesses?: List<ServerProcess>;
    constructor(properties: RuntimeConfiguration);
}
export declare class CertificateConfiguration {
    CertificateType: Value<string>;
    constructor(properties: CertificateConfiguration);
}
export interface FleetProperties {
    ResourceCreationLimitPolicy?: ResourceCreationLimitPolicy;
    ServerLaunchParameters?: Value<string>;
    PeerVpcId?: Value<string>;
    EC2InstanceType: Value<string>;
    DesiredEC2Instances?: Value<number>;
    MetricGroups?: List<Value<string>>;
    MaxSize?: Value<number>;
    ScriptId?: Value<string>;
    FleetType?: Value<string>;
    BuildId?: Value<string>;
    LogPaths?: List<Value<string>>;
    Name: Value<string>;
    NewGameSessionProtectionPolicy?: Value<string>;
    PeerVpcAwsAccountId?: Value<string>;
    InstanceRoleARN?: Value<string>;
    MinSize?: Value<number>;
    ServerLaunchPath?: Value<string>;
    Description?: Value<string>;
    RuntimeConfiguration?: RuntimeConfiguration;
    CertificateConfiguration?: CertificateConfiguration;
    EC2InboundPermissions?: List<IpPermission>;
}
export default class Inner_Fleet extends ResourceBase<FleetProperties> {
    static ResourceCreationLimitPolicy: typeof ResourceCreationLimitPolicy;
    static IpPermission: typeof IpPermission;
    static ServerProcess: typeof ServerProcess;
    static RuntimeConfiguration: typeof RuntimeConfiguration;
    static CertificateConfiguration: typeof CertificateConfiguration;
    constructor(properties: FleetProperties);
}
