import { NamedBeanDefinition } from "./CamelDefinition";
export declare class Dependency {
    group: string;
    artifact: string;
    version: string;
    uuid: string;
    dslName: string;
    constructor(init?: Partial<Dependency>);
    static createNew(url: string): Dependency;
    getFullName(): string;
}
export declare class EnvironmentVars {
    vars?: string[];
}
export declare class Traits {
    environment?: EnvironmentVars;
}
export declare class Spec {
    flows?: any[];
    dependencies?: Dependency[];
    traits?: Traits;
    constructor(init?: Partial<Spec>);
}
export declare class Metadata {
    name: string;
    constructor(init?: Partial<Metadata>);
}
export declare class Integration {
    apiVersion: string;
    kind: string;
    metadata: Metadata;
    spec: Spec;
    type: 'crd' | 'plain' | 'kamelet';
    constructor(init?: Partial<Integration>);
    static createNew(name?: string): Integration;
}
export declare class CamelElement {
    uuid: string;
    dslName: string;
    show: boolean;
    constructor(dslName: string);
    hasSteps(): boolean;
    hasStepName(): boolean;
}
export declare class Beans extends CamelElement {
    beans: NamedBeanDefinition[];
    constructor(init?: Partial<Beans>);
}
export declare class CamelElementMeta {
    step?: CamelElement;
    parentUuid?: string;
    position: number;
    constructor(step?: CamelElement, parentUuid?: string, position?: number);
}
