export interface WorkJson {
    allow_hosts: string[];
    expire_at: string;
    code: string;
    name?: string;
    project_id?: string;
    base_url: string;
    initial?: WorkInitialJson;
    model?: WorkModelJson;
    observers?: WorkObserverJson[];
    panorama?: WorkPanoramasJson;
}
export interface WorkInitialJson {
    mode?: string;
    pano_index?: number;
    longitude?: number;
    latitude?: number;
    fov?: number;
    offset?: number[];
    distance?: number;
}
export interface WorkModelJson {
    file_url?: string;
    material_textures?: string[];
    material_base_url?: string;
    up_axis?: string;
    layers?: WorkModelLayerJson[];
}
export interface WorkModelLayerJson {
    name?: string;
    type?: string;
    up_axis: string;
    tileset_url: string;
}
export interface WorkObserverJson {
    index: number;
    floor_index: number;
    derived_id: number | string;
    derived_id_str: string;
    position: number[];
    standing_position: number[];
    quaternion: {
        x: number;
        y: number;
        z: number;
        w: number;
    };
    visible_nodes: number[];
    accessible_nodes: number[];
}
export interface WorkPanoramasJson {
    count: number;
    list: WorkPanoramaJson[];
}
export interface WorkPanoramaJson {
    index: number;
    active?: boolean;
    loadable?: boolean;
    derived_id?: number | string;
    derived_id_str?: string;
    size_list: number[];
    up: string;
    down: string;
    right: string;
    left: string;
    front: string;
    back: string;
    video?: {
        source: string;
        matrix: number[];
        size: number[];
    };
}
