import * as core from "@terrascript/core";
export interface ShareDistributionArgs extends core.SchemaArgs {
    shareIdentifier: string | core.StringOut;
    weightFactor?: number | core.NumberOut;
}
export declare class ShareDistribution extends core.Schema<ShareDistributionArgs> {
    shareIdentifier: string | core.StringOut;
    weightFactor?: number | core.NumberOut;
}
export interface FairSharePolicyArgs extends core.SchemaArgs {
    computeReservation?: number | core.NumberOut;
    shareDecaySeconds?: number | core.NumberOut;
    shareDistribution?: core.Array<ShareDistribution> | core.ArrayOut<ShareDistribution>;
}
export declare class FairSharePolicy extends core.Schema<FairSharePolicyArgs> {
    computeReservation?: number | core.NumberOut;
    shareDecaySeconds?: number | core.NumberOut;
    shareDistribution?: core.Array<ShareDistribution> | core.ArrayOut<ShareDistribution>;
}
export interface SchedulingPolicyArgs extends core.ResourceArgs {
    fairSharePolicy?: FairSharePolicy;
    name: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class SchedulingPolicy extends core.Resource<SchedulingPolicyArgs> {
    arn: string | core.StringOut;
    fairSharePolicy?: FairSharePolicy;
    id: string | core.StringOut;
    name: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: SchedulingPolicyArgs);
    getNamespace(): string;
}
//# sourceMappingURL=scheduling_policy.d.ts.map