export interface LeanIXConfig {
    baseUrl: string;
    clientId: string;
    clientSecret: string;
    workspaceId?: string;
}
export interface OAuthToken {
    access_token: string;
    token_type: string;
    expires_in: number;
    scope?: string;
    expires_at?: number;
}
export interface ApiError {
    code?: number;
    message: string;
    details?: any;
}
export interface ApiResponse<T = any> {
    status: 'OK' | 'ERROR';
    type: string;
    data?: T;
    errorMessage?: string;
    errors?: ApiError[];
    total?: number;
    cursor?: string;
    endCursor?: string;
}
export interface FactSheet {
    id?: string;
    name: string;
    description?: string;
    displayName?: string;
    fullName?: string;
    type: string;
    tags?: Tag[];
    fields?: FieldnameAndData[];
    relations?: FactSheetRelation[];
    milestones?: Milestone[];
    completion?: SectionCompletion;
    createdAt?: string;
    updatedAt?: string;
    status?: 'ACTIVE' | 'ARCHIVED';
    lxState?: 'BROKEN_QUALITY_SEAL' | 'DRAFT' | 'REJECTED' | 'APPROVED';
    level?: number;
    qualitySealStatus?: 'DISABLED' | 'APPROVED' | 'BROKEN';
    permissions?: PermissionsField;
    score?: number;
    rev?: number;
    subscriptions?: Subscription[];
    permittedReadACL?: AccessControlEntityReference[];
    permittedWriteACL?: AccessControlEntityReference[];
}
export interface Tag {
    id?: string;
    name: string;
    color?: string;
    description?: string;
}
export interface FieldnameAndData {
    fieldName: string;
    fieldValue: LxField;
}
export interface LxField {
    type: 'StringValue' | 'BooleanValue' | 'IntegerValue' | 'DoubleValue' | 'DateValue' | 'SingleSelect' | 'Location' | 'MultipleSelect' | 'Lifecycle' | 'ProjectStatusProgress' | 'ExternalId' | 'FactSheetReferencesFieldValue' | 'SearchBasedFieldValue';
    value?: any;
    values?: string[];
}
export interface FactSheetRelation {
    id?: string;
    displayNameToFS?: string;
    typeFromFS?: string;
    typeToFS?: string;
    activeFrom?: string;
    activeUntil?: string;
    fields?: FieldnameAndData[];
    status?: 'ACTIVE' | 'ARCHIVED';
    fromId?: string;
    toId?: string;
    factSheet?: FactSheet;
    type: string;
}
export interface Milestone {
    id?: string;
    date: string;
    name: string;
    description?: string;
}
export interface SectionCompletion {
    type?: string;
    percentage?: number;
    completion?: number;
}
export interface PermissionsField {
    self?: string[];
    create?: string[];
    read?: string[];
    update?: string[];
    delete?: string[];
}
export interface Subscription {
    id?: string;
    userId?: string;
    type: 'ACCOUNTABLE' | 'RESPONSIBLE' | 'OBSERVER';
    linkedRoles?: LinkedSubscriptionRoleData[];
    roles?: SubscriptionRoleLegacy[];
}
export interface LinkedSubscriptionRoleData {
    roleId?: string;
    comment?: string;
    name?: string;
    description?: string;
}
export interface SubscriptionRoleLegacy {
    id?: string;
    name?: string;
    restrictToFactSheetTypes?: string[];
    subscriptionType?: 'ACCOUNTABLE' | 'RESPONSIBLE' | 'OBSERVER';
}
export interface AccessControlEntityReference {
    id?: string;
    name?: string;
}
export interface Bookmark {
    id?: string;
    userId?: string;
    lastUpdateUserId?: string;
    name: string;
    type: 'INVENTORY' | 'REPORTING' | 'VISUALIZER' | 'DASHBOARD' | 'INVENTORY_EXPORT';
    groupKey?: string;
    description?: string;
    createdAt?: string;
    updatedAt?: string;
    i18nKey?: string;
    predefined?: boolean;
    readonly?: boolean;
    defaultSharingPriority?: number;
    user?: User;
    permittedReadUserIds: string[];
    permittedWriteUserIds: string[];
    referencedFactSheetIds: string[];
    views?: number;
    replaySequence?: number;
    temporary?: boolean;
    version?: number;
    message?: string;
    oDataEnabled?: boolean;
    state?: {
        [key: string]: any;
    };
}
export interface User {
    id?: string;
    firstName?: string;
    lastName?: string;
    displayName?: string;
    userName?: string;
    email?: string;
    technicalUser?: boolean;
    role?: 'SUPERADMIN' | 'SYSTEM' | 'APICLIENT' | 'ACCOUNTADMIN' | 'ACCOUNTUSER';
    status?: 'ACTIVE' | 'ARCHIVED';
}
export interface BookmarkShare {
    sharedByUserId?: string;
    sharedUserInfos?: SharedUserInfo[];
}
export interface SharedUserInfo {
    sharedWithUser?: User;
    sharedAt?: string;
}
export interface Feature {
    id?: string;
    name?: string;
    type?: 'FUNCTIONAL' | 'QUOTA';
    description?: string;
    status?: 'DISABLED' | 'ENABLED';
    group?: 'BETA' | 'PRODUCTIVE' | 'LEGACY' | 'CUSTOMER' | 'EXCEPTION';
    quota?: number;
    roles?: string[];
    customized?: boolean;
}
export interface GraphQLRequest {
    query: string;
    variables?: {
        [key: string]: any;
    };
    operationName?: string;
}
export interface GraphQLResult {
    data?: any;
    errors?: any[];
}
export interface Export {
    id?: string;
    userId?: string;
    user?: User;
    type: 'AUDIT_LOG' | 'SNAPSHOT' | 'INVENTORY_IMPORT' | 'INVENTORY_EXPORT' | 'WS_SYNC' | 'REPORT_SYNC' | 'AUDIT_LOG_LEGACY' | 'ARCHIVE';
    status: 'STARTED' | 'COMPLETED' | 'DOWNLOADED' | 'ERROR' | 'DELETED' | 'CANCELED';
    localFilename?: string;
    downloadFilename?: string;
    createdAt?: string;
    deleteAt?: string;
    dryRun?: boolean;
    downloadKey?: string;
    factSheetTypes?: string;
    factSheetCount?: number;
    columnCount?: number;
    bookmark?: Bookmark;
}
export interface WorkspaceSettings {
    tagsSettings?: TagSettings;
    subscriptions?: SubscriptionSettings;
    tags?: TagSettings;
    help?: HelpSettings;
    snapshot?: SnapshotSettings;
    integrations?: IntegrationsSettings;
    currency?: string;
    language?: string;
    jsSnippet?: string;
    idleTimeoutMinutes?: number;
    defaultReportId?: string;
    dataPrivacy?: 'NORMAL' | 'RELAXED';
    completionScore?: 'ENABLED' | 'DISABLED';
    quickSearchMode?: 'LIST_VIEW' | 'GROUPED_VIEW';
    design?: Design;
    metrics?: Metrics;
    ootbDashboards?: OotbDashboardSettings;
    smartIndicatorsEnabled?: boolean;
    retention?: RetentionSettings;
    dashboard?: DashboardSettings;
    defaultUseCases?: {
        [key: string]: string;
    };
}
export interface TagSettings {
    taggingMode?: 'ON_THE_FLY' | 'PRE_DEFINED_ONLY' | 'PRE_DEFINED_OR_ON_THE_FLY';
}
export interface SubscriptionSettings {
    subscriptionTypes: ('ACCOUNTABLE' | 'RESPONSIBLE' | 'OBSERVER')[];
    roleAssignment: 'SINGLE' | 'MULTIPLE';
    roleMode: 'ON_THE_FLY' | 'OPTIONAL' | 'REQUIRED';
}
export interface HelpSettings {
    helpCenter: string;
    userGuide: string;
    supportEmail?: string;
    supportUrl?: string;
    showHelpTours?: boolean;
}
export interface SnapshotSettings {
    allowOverwrite?: boolean;
}
export interface IntegrationsSettings {
    technopedia?: UserNameAndPasswordIntegrationSettings;
    signavio?: SignavioSettings;
    intercom?: IntercomSettings;
}
export interface UserNameAndPasswordIntegrationSettings {
    active?: boolean;
    userName?: string;
    password?: string;
}
export interface SignavioSettings {
    active?: boolean;
    userName?: string;
    password?: string;
    signavioUrl?: string;
    tenantId?: string;
    loginParams?: string;
    processMapping?: SignavioProcessMapping;
    glossaryCategoryMappings?: {
        [key: string]: SignavioGlossaryCategoryMapping;
    };
}
export interface SignavioProcessMapping {
    active?: boolean;
    strict?: boolean;
    directoryIds?: string[];
    factSheetType?: string;
    linkProcessingMode?: 'NO_PROCESSING' | 'PARENT_CHILD';
    publishedOnly?: boolean;
}
export interface SignavioGlossaryCategoryMapping {
    active?: boolean;
    strict?: boolean;
    glossaryCategoryId?: string;
    leanixRelationName?: string;
    master?: 'LEANIX' | 'SIGNAVIO';
}
export interface IntercomSettings {
    active?: boolean;
    appId?: string;
    identitySecret?: string;
}
export interface Design {
    activeMode: 'CUSTOM' | 'CLASSIC' | 'EAS';
    customCss?: {
        [key: string]: any;
    };
}
export interface Metrics {
    charts?: ChartSetting[];
}
export interface ChartSetting {
    id?: string;
    chart?: Chart;
    series?: Series[];
}
export interface Chart {
    type?: string;
    title?: string;
}
export interface Series {
    name?: string;
    data?: any[];
}
export interface OotbDashboardSettings {
    [key: string]: any;
}
export interface RetentionSettings {
    [key: string]: any;
}
export interface DashboardSettings {
    allowedIframePanelUrls: string;
    defaultDashboard?: string;
    userDefaultDashboardEnabled?: boolean;
    allowAllUrlsInIframePanel?: boolean;
    allowedIframePanelAttributes: string[];
}
export interface Suggestion {
    objectId?: string;
    displayName?: string;
    type?: string;
    score?: number;
    reasons?: Reason[];
}
export interface Reason {
    field?: string;
    value?: string;
    positions?: Position[];
}
export interface Position {
    offset?: number;
    length?: number;
}
//# sourceMappingURL=types.d.ts.map