import { Attachment } from './attachment.js';
import { EditionRenditionsInfo } from './edition-renditions-info.js';
import { Element } from './element.js';
import { InDesignArticle } from './indesign-article.js';
import { Message } from './message.js';
import { MessageList } from './message-list.js';
import { MetaData } from './metadata.js';
import { ObjectLabel } from './object-label.js';
import { ObjectOperation } from './object-operations.js';
import { Page } from './page.js';
import { Placement } from './placement.js';
import { Relation } from './relation.js';
import { Target } from './target.js';
import './edition.js';
import './rendition-type-info.js';
import './sticky-info.js';
import './basic-metadata.js';
import './category.js';
import './publication.js';
import './content-metadata.js';
import './extra-metadata.js';
import './rights-metadata.js';
import './source-metadata.js';
import './workflow-metadata.js';
import './state.js';
import './param.js';
import './object-info.js';
import './issue.js';
import './pub-channel.js';

declare class WflObject {
    __classname__: string;
    MetaData: MetaData | null;
    Relations: Relation[] | null;
    Pages: Page[] | null;
    Files: Attachment[] | null;
    Messages: Message[] | null;
    Elements: Element[] | null;
    Targets: Target[] | null;
    Renditions: EditionRenditionsInfo[] | null;
    MessageList: MessageList | null;
    ObjectLabels: ObjectLabel[] | null;
    InDesignArticles: InDesignArticle[] | null;
    Placements: Placement[] | null;
    Operations: ObjectOperation[] | null;
    constructor(params: WflObjectNamedParameters);
}
interface WflObjectNamedParameters {
    Metadata?: MetaData;
    Relations?: Relation[];
    Pages?: Page[];
    Files?: Attachment[];
    Messages?: Message[];
    Elements?: Element[];
    Targets?: Target[];
    Renditions?: EditionRenditionsInfo[];
    MessageList?: MessageList;
    ObjectLabels?: ObjectLabel[];
    InDesignArticles?: InDesignArticle[];
    Placements?: Placement[];
    Operations?: ObjectOperation[];
}

export { WflObject, type WflObjectNamedParameters };
