import { JsonObject, JsonValue } from '@backstage/types';
import { JSONSchema7 } from 'json-schema';
import { BackstageCredentials } from './AuthService';
/**
 * @public
 */
export type ActionsServiceAction = {
    id: string;
    name: string;
    title: string;
    description: string;
    schema: {
        input: JSONSchema7;
        output: JSONSchema7;
    };
};
/**
 * @public
 */
export interface ActionsService {
    list: (opts: {
        credentials: BackstageCredentials;
    }) => Promise<{
        actions: ActionsServiceAction[];
    }>;
    invoke(opts: {
        id: string;
        input?: JsonObject;
        credentials: BackstageCredentials;
    }): Promise<{
        output: JsonValue;
    }>;
}
