/**
 * Copyright (c) 2020-present, Goldman Sachs
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { HostedService, type PostDeploymentAction } from '@finos/legend-graph';
import { type GeneratorFn, ActionState, type PlainObject } from '@finos/legend-shared';
import type { EditorStore } from '../../../EditorStore.js';
import { ElementEditorState } from '../ElementEditorState.js';
import { User } from '@finos/legend-server-sdlc';
export declare enum HostedServiceOwnershipType {
    DEPLOYMENT_OWNERSHIP = "deploymentOwnership",
    USERLIST_OWNERSHIP = "userListOwnership"
}
export declare const MINIMUM_HOSTED_SERVICE_OWNERS = 2;
export declare const DeploymentOwnershipLabel = "Deployment";
export declare const UserlistOwnershipLabel = "User List";
export declare const OWNERSHIP_OPTIONS: {
    label: string;
    value: HostedServiceOwnershipType;
}[];
export declare enum ACTIVATOR_EDITOR_TAB {
    DEFINITION = "DEFINITION",
    TAGGED_VALUES = "TAGGED_VALUES",
    STEREOTYPES = "STEREOTYPES",
    ACTIONS = "ACTIONS"
}
export type HostedServiceOwnerOption = {
    label: string;
    value: string;
};
export declare class HostedServiceFunctionActivatorEditorState extends ElementEditorState {
    readonly validateState: ActionState;
    readonly renderArtifactState: ActionState;
    readonly deployState: ActionState;
    selectedTab: ACTIVATOR_EDITOR_TAB;
    selectedAction: PostDeploymentAction | undefined;
    artifact: PlainObject | undefined;
    constructor(editorStore: EditorStore, element: HostedService);
    setSelectedTab(tab: ACTIVATOR_EDITOR_TAB): void;
    get activator(): HostedService;
    updateDocumentation(val: string): void;
    updatePattern(val: string): void;
    storeModel(val: boolean): void;
    setSelectedAction(postDeploymentAction: PostDeploymentAction): void;
    get selectedOwnership(): HostedServiceOwnerOption | undefined;
    setSelectedOwnership(o: HostedServiceOwnerOption): void;
    setArtifact(newArtifact: PlainObject | undefined): void;
    validate(): GeneratorFn<void>;
    renderArtifact(): GeneratorFn<void>;
    deployToSandbox(): GeneratorFn<void>;
    searchUsers(name: string): GeneratorFn<User[]>;
    reprocess(newElement: HostedService, editorStore: EditorStore): HostedServiceFunctionActivatorEditorState;
}
//# sourceMappingURL=HostedServiceFunctionActivatorEditorState.d.ts.map