import * as t from '@babel/types'; export declare type PhaseType = 'before' | 'on' | 'after'; export declare const phases: string[]; export declare const EVENT_UNDEFINED = "__undefined__"; export declare const DEFAULT_INDENT = 4; export interface LogicTarget { service: string; entity?: string; action?: string; externalService?: string; externalServiceEvent?: string; } export interface Event { name: string; phase: PhaseType; } export interface ApplicationLogic { name: string; displayName?: string; legacy?: boolean; compatible?: boolean; description?: string; target: LogicTarget; draft?: boolean; code?: string; events: Event[]; } export declare const rectifyEvent: (name: string) => string; export default class ServiceScript { private readonly serviceContent; private raw; constructor(serviceContent: string); private tryParseScript; private getServices; list(): Promise; } interface ServiceDefinition { name?: string; node: t.Node; } export declare function parseServiceDefinitions(ast: t.File | t.Program): ServiceDefinition[]; export {};