import { BaseFacet } from './BaseFacet.js';
import { ProcessingType } from '../types/CommonTypes.js';
export declare class Owner {
    name: string;
    type: string;
    constructor(name: string, type: string);
}
export declare class JobFacet extends BaseFacet {
    _deleted: boolean | null;
    constructor(producer: string, schemaURL: string, deleted?: boolean | null);
}
export declare class JobType extends JobFacet {
    processingType: ProcessingType;
    integration: string;
    jobType: string;
    constructor(producer: string, schemaURL: string, processingType: ProcessingType, integration: string, jobType: string, deleted?: boolean | null);
    getSchema(): string;
}
export declare class Ownership extends JobFacet {
    ownership: Owner[];
    constructor(producer: string, schemaURL: string, owners: Owner[], deleted?: boolean | null);
    getSchema(): string;
}
export declare class SourceCode extends JobFacet {
    language: string;
    sourceCode: string;
    constructor(producer: string, schemaURL: string, language: string, sourceCode: string, deleted?: boolean | null);
    getSchema(): string;
}
export declare class SourceCodeLocation extends JobFacet {
    type: string;
    url: string;
    repoUrl: string;
    path: string;
    version: string;
    tag: string;
    branch: string;
    constructor(producer: string, schemaURL: string, type: string, url: string, repoUrl: string, path: string, version: string, tag: string, branch: string, deleted?: boolean | null);
    getSchema(): string;
}
export declare class Sql extends JobFacet {
    query: string;
    constructor(producer: string, schemaURL: string, query: string, deleted?: boolean | null);
    getSchema(): string;
}
export declare class Documentation extends JobFacet {
    description: string;
    constructor(producer: string, schemaURL: string, description: string, deleted?: boolean | null);
    getSchema(): string;
}
export declare class JobFacets {
    documentation: Documentation | null;
    ownership: Ownership | null;
    sourceCode: SourceCode | null;
    sourceCodeLocation: SourceCodeLocation | null;
    sql: Sql | null;
    jobType: JobType | null;
    constructor(documentation?: Documentation | null, ownership?: Ownership | null, sourceCode?: SourceCode | null, sourceCodeLocation?: SourceCodeLocation | null, sql?: Sql | null, jobType?: JobType | null);
}
