import { ResourceBase } from "../../resource";
import { Value, List, MapOf } from "../../data-types";
export declare class Behavior {
    Recency?: Recency;
    constructor(properties: Behavior);
}
export declare class Groups {
    Type?: Value<string>;
    SourceType?: Value<string>;
    Dimensions?: List<SegmentDimensions>;
    SourceSegments?: List<SourceSegments>;
    constructor(properties: Groups);
}
export declare class Coordinates {
    Latitude: Value<number>;
    Longitude: Value<number>;
    constructor(properties: Coordinates);
}
export declare class Location {
    GPSPoint?: GPSPoint;
    Country?: SetDimension;
    constructor(properties: Location);
}
export declare class SegmentDimensions {
    Demographic?: Demographic;
    Metrics?: MapOf<any>;
    Attributes?: MapOf<any>;
    Behavior?: Behavior;
    UserAttributes?: MapOf<any>;
    Location?: Location;
    constructor(properties: SegmentDimensions);
}
export declare class SourceSegments {
    Version?: Value<number>;
    Id: Value<string>;
    constructor(properties: SourceSegments);
}
export declare class Demographic {
    AppVersion?: SetDimension;
    DeviceType?: SetDimension;
    Platform?: SetDimension;
    Channel?: SetDimension;
    Model?: SetDimension;
    Make?: SetDimension;
    constructor(properties: Demographic);
}
export declare class SegmentGroups {
    Groups?: List<Groups>;
    Include?: Value<string>;
    constructor(properties: SegmentGroups);
}
export declare class SetDimension {
    DimensionType?: Value<string>;
    Values?: List<Value<string>>;
    constructor(properties: SetDimension);
}
export declare class GPSPoint {
    RangeInKilometers: Value<number>;
    Coordinates: Coordinates;
    constructor(properties: GPSPoint);
}
export declare class Recency {
    Duration: Value<string>;
    RecencyType: Value<string>;
    constructor(properties: Recency);
}
export declare class AttributeDimension {
    AttributeType?: Value<string>;
    Values?: List<Value<string>>;
    constructor(properties: AttributeDimension);
}
export interface SegmentProperties {
    SegmentGroups?: SegmentGroups;
    Dimensions?: SegmentDimensions;
    ApplicationId: Value<string>;
    Tags?: MapOf<any>;
    Name: Value<string>;
}
export default class Inner_Segment extends ResourceBase<SegmentProperties> {
    static Behavior: typeof Behavior;
    static Groups: typeof Groups;
    static Coordinates: typeof Coordinates;
    static Location: typeof Location;
    static SegmentDimensions: typeof SegmentDimensions;
    static SourceSegments: typeof SourceSegments;
    static Demographic: typeof Demographic;
    static SegmentGroups: typeof SegmentGroups;
    static SetDimension: typeof SetDimension;
    static GPSPoint: typeof GPSPoint;
    static Recency: typeof Recency;
    static AttributeDimension: typeof AttributeDimension;
    constructor(properties: SegmentProperties);
}
