import { KubeDocument } from '@c6o/kubeclient'; export interface MenuItems { type: string; display: string; action: string; } export interface LaunchType { type?: string; tag?: string; api?: boolean; path?: string; popUp: boolean; local?: { command: string; args?: Array; }; } export interface RoutesType { type: 'tcp' | 'http'; targetService: string; targetPort?: number; disabled?: boolean; http?: { prefix?: string; rewrite?: string; }; tcp?: { port?: number; name: string; strictPort?: boolean; }; } export interface ServicesType { [key: string]: any; } export interface AppDocument extends KubeDocument { spec: { navstation?: boolean; marina?: { launch?: LaunchType; menus?: Array; }; provisioner?: any | 'ignore'; services?: ServicesType; routes?: Array; }; } export declare const AppStatuses: { create: { Pending: string; Completed: string; Error: string; }; update: { Pending: string; Completed: string; Error: string; }; remove: { Pending: string; Completed: string; Error: string; }; }; export declare class AppObject { document: any; _services: any; get services(): any; get serviceNames(): any; get isNew(): boolean; constructor(document: any); getAppEdition(): any; getAppName(): any; getAppNamespace(): any; getServiceSpec(serviceName: string): any; getServicePackage(serviceName: string): any; getServiceTagPrefix(serviceName: string): any; getServiceObject(serviceName: string): any; getServiceName: (serviceObject: any) => string; }