import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import type { Timestamp, TimestampJson, Value, ValueJson } from "@bufbuild/protobuf/wkt";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file mochabugapis/adapt/runtime/v1/plugin_service.proto.
 */
export declare const file_mochabugapis_adapt_runtime_v1_plugin_service: GenFile;
/**
 * The request to get the services
 *
 * @generated from message mochabugapis.adapt.runtime.v1.GetSystemServicesRequest
 */
export type GetSystemServicesRequest = Message<"mochabugapis.adapt.runtime.v1.GetSystemServicesRequest"> & {};
/**
 * The request to get the services
 *
 * @generated from message mochabugapis.adapt.runtime.v1.GetSystemServicesRequest
 */
export type GetSystemServicesRequestJson = {};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.GetSystemServicesRequest.
 * Use `create(GetSystemServicesRequestSchema)` to create a new message.
 */
export declare const GetSystemServicesRequestSchema: GenMessage<GetSystemServicesRequest, {
    jsonType: GetSystemServicesRequestJson;
}>;
/**
 * The response of getting the services
 *
 * @generated from message mochabugapis.adapt.runtime.v1.GetSystemServicesResponse
 */
export type GetSystemServicesResponse = Message<"mochabugapis.adapt.runtime.v1.GetSystemServicesResponse"> & {
    /**
     * The services that are configured for the system
     * For nested services you query with a dot notation path
     * Services that are not configured will not appear in this map
     * For example, oneOf service with the selection option will appear as: "oneof_service.selected_option"
     * Any grouped services will appear as normal, i.e. "grouped_service.nested_service"
     * If the service is not configured (i.e. optional) it will not appear in this map
     *
     * @generated from field: map<string, bool> configured_services = 1;
     */
    configuredServices: {
        [key: string]: boolean;
    };
};
/**
 * The response of getting the services
 *
 * @generated from message mochabugapis.adapt.runtime.v1.GetSystemServicesResponse
 */
export type GetSystemServicesResponseJson = {
    /**
     * The services that are configured for the system
     * For nested services you query with a dot notation path
     * Services that are not configured will not appear in this map
     * For example, oneOf service with the selection option will appear as: "oneof_service.selected_option"
     * Any grouped services will appear as normal, i.e. "grouped_service.nested_service"
     * If the service is not configured (i.e. optional) it will not appear in this map
     *
     * @generated from field: map<string, bool> configured_services = 1;
     */
    configuredServices?: {
        [key: string]: boolean;
    };
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.GetSystemServicesResponse.
 * Use `create(GetSystemServicesResponseSchema)` to create a new message.
 */
export declare const GetSystemServicesResponseSchema: GenMessage<GetSystemServicesResponse, {
    jsonType: GetSystemServicesResponseJson;
}>;
/**
 * Check if access token is ok
 *
 * @generated from message mochabugapis.adapt.runtime.v1.AuthorizeRequest
 */
export type AuthorizeRequest = Message<"mochabugapis.adapt.runtime.v1.AuthorizeRequest"> & {
    /**
     * The access token
     *
     * @generated from field: string access_token = 1;
     */
    accessToken: string;
};
/**
 * Check if access token is ok
 *
 * @generated from message mochabugapis.adapt.runtime.v1.AuthorizeRequest
 */
export type AuthorizeRequestJson = {
    /**
     * The access token
     *
     * @generated from field: string access_token = 1;
     */
    accessToken?: string;
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.AuthorizeRequest.
 * Use `create(AuthorizeRequestSchema)` to create a new message.
 */
export declare const AuthorizeRequestSchema: GenMessage<AuthorizeRequest, {
    jsonType: AuthorizeRequestJson;
}>;
/**
 * The response of authorizing
 *
 * @generated from message mochabugapis.adapt.runtime.v1.AuthorizeResponse
 */
export type AuthorizeResponse = Message<"mochabugapis.adapt.runtime.v1.AuthorizeResponse"> & {};
/**
 * The response of authorizing
 *
 * @generated from message mochabugapis.adapt.runtime.v1.AuthorizeResponse
 */
export type AuthorizeResponseJson = {};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.AuthorizeResponse.
 * Use `create(AuthorizeResponseSchema)` to create a new message.
 */
export declare const AuthorizeResponseSchema: GenMessage<AuthorizeResponse, {
    jsonType: AuthorizeResponseJson;
}>;
/**
 * The request to get multiple environmental variabes
 *
 * @generated from message mochabugapis.adapt.runtime.v1.BatchGetSystemVariablesRequest
 */
export type BatchGetSystemVariablesRequest = Message<"mochabugapis.adapt.runtime.v1.BatchGetSystemVariablesRequest"> & {
    /**
     * The names of the variables to fetch
     *
     * @generated from field: repeated string names = 1;
     */
    names: string[];
};
/**
 * The request to get multiple environmental variabes
 *
 * @generated from message mochabugapis.adapt.runtime.v1.BatchGetSystemVariablesRequest
 */
export type BatchGetSystemVariablesRequestJson = {
    /**
     * The names of the variables to fetch
     *
     * @generated from field: repeated string names = 1;
     */
    names?: string[];
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.BatchGetSystemVariablesRequest.
 * Use `create(BatchGetSystemVariablesRequestSchema)` to create a new message.
 */
export declare const BatchGetSystemVariablesRequestSchema: GenMessage<BatchGetSystemVariablesRequest, {
    jsonType: BatchGetSystemVariablesRequestJson;
}>;
/**
 * The response of getting multiple environmental variabes
 *
 * @generated from message mochabugapis.adapt.runtime.v1.BatchGetSystemVariablesResponse
 */
export type BatchGetSystemVariablesResponse = Message<"mochabugapis.adapt.runtime.v1.BatchGetSystemVariablesResponse"> & {
    /**
     * name, value pairs
     *
     * @generated from field: map<string, google.protobuf.Value> items = 1;
     */
    items: {
        [key: string]: Value;
    };
};
/**
 * The response of getting multiple environmental variabes
 *
 * @generated from message mochabugapis.adapt.runtime.v1.BatchGetSystemVariablesResponse
 */
export type BatchGetSystemVariablesResponseJson = {
    /**
     * name, value pairs
     *
     * @generated from field: map<string, google.protobuf.Value> items = 1;
     */
    items?: {
        [key: string]: ValueJson;
    };
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.BatchGetSystemVariablesResponse.
 * Use `create(BatchGetSystemVariablesResponseSchema)` to create a new message.
 */
export declare const BatchGetSystemVariablesResponseSchema: GenMessage<BatchGetSystemVariablesResponse, {
    jsonType: BatchGetSystemVariablesResponseJson;
}>;
/**
 * The request to get multiple environmental variabes
 *
 * @generated from message mochabugapis.adapt.runtime.v1.BatchGetUserVariablesRequest
 */
export type BatchGetUserVariablesRequest = Message<"mochabugapis.adapt.runtime.v1.BatchGetUserVariablesRequest"> & {
    /**
     * The names of the variables to fetch
     *
     * @generated from field: repeated string names = 1;
     */
    names: string[];
};
/**
 * The request to get multiple environmental variabes
 *
 * @generated from message mochabugapis.adapt.runtime.v1.BatchGetUserVariablesRequest
 */
export type BatchGetUserVariablesRequestJson = {
    /**
     * The names of the variables to fetch
     *
     * @generated from field: repeated string names = 1;
     */
    names?: string[];
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.BatchGetUserVariablesRequest.
 * Use `create(BatchGetUserVariablesRequestSchema)` to create a new message.
 */
export declare const BatchGetUserVariablesRequestSchema: GenMessage<BatchGetUserVariablesRequest, {
    jsonType: BatchGetUserVariablesRequestJson;
}>;
/**
 * The response of getting multiple environmental variabes
 *
 * @generated from message mochabugapis.adapt.runtime.v1.BatchGetUserVariablesResponse
 */
export type BatchGetUserVariablesResponse = Message<"mochabugapis.adapt.runtime.v1.BatchGetUserVariablesResponse"> & {
    /**
     * name, value pairs
     *
     * @generated from field: map<string, google.protobuf.Value> items = 1;
     */
    items: {
        [key: string]: Value;
    };
};
/**
 * The response of getting multiple environmental variabes
 *
 * @generated from message mochabugapis.adapt.runtime.v1.BatchGetUserVariablesResponse
 */
export type BatchGetUserVariablesResponseJson = {
    /**
     * name, value pairs
     *
     * @generated from field: map<string, google.protobuf.Value> items = 1;
     */
    items?: {
        [key: string]: ValueJson;
    };
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.BatchGetUserVariablesResponse.
 * Use `create(BatchGetUserVariablesResponseSchema)` to create a new message.
 */
export declare const BatchGetUserVariablesResponseSchema: GenMessage<BatchGetUserVariablesResponse, {
    jsonType: BatchGetUserVariablesResponseJson;
}>;
/**
 * The request to get multiple oauth2 tokens
 *
 * @generated from message mochabugapis.adapt.runtime.v1.BatchGetUserTokensRequest
 */
export type BatchGetUserTokensRequest = Message<"mochabugapis.adapt.runtime.v1.BatchGetUserTokensRequest"> & {
    /**
     * The names of the tokens to fetch
     *
     * @generated from field: repeated string names = 1;
     */
    names: string[];
};
/**
 * The request to get multiple oauth2 tokens
 *
 * @generated from message mochabugapis.adapt.runtime.v1.BatchGetUserTokensRequest
 */
export type BatchGetUserTokensRequestJson = {
    /**
     * The names of the tokens to fetch
     *
     * @generated from field: repeated string names = 1;
     */
    names?: string[];
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.BatchGetUserTokensRequest.
 * Use `create(BatchGetUserTokensRequestSchema)` to create a new message.
 */
export declare const BatchGetUserTokensRequestSchema: GenMessage<BatchGetUserTokensRequest, {
    jsonType: BatchGetUserTokensRequestJson;
}>;
/**
 * The response of getting multiple oauth2 tokens
 *
 * @generated from message mochabugapis.adapt.runtime.v1.BatchGetUserTokensResponse
 */
export type BatchGetUserTokensResponse = Message<"mochabugapis.adapt.runtime.v1.BatchGetUserTokensResponse"> & {
    /**
     * Name, token pairs
     *
     * @generated from field: map<string, mochabugapis.adapt.runtime.v1.Token> items = 1;
     */
    items: {
        [key: string]: Token;
    };
};
/**
 * The response of getting multiple oauth2 tokens
 *
 * @generated from message mochabugapis.adapt.runtime.v1.BatchGetUserTokensResponse
 */
export type BatchGetUserTokensResponseJson = {
    /**
     * Name, token pairs
     *
     * @generated from field: map<string, mochabugapis.adapt.runtime.v1.Token> items = 1;
     */
    items?: {
        [key: string]: TokenJson;
    };
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.BatchGetUserTokensResponse.
 * Use `create(BatchGetUserTokensResponseSchema)` to create a new message.
 */
export declare const BatchGetUserTokensResponseSchema: GenMessage<BatchGetUserTokensResponse, {
    jsonType: BatchGetUserTokensResponseJson;
}>;
/**
 * The request to get multiple oauth2 tokens
 *
 * @generated from message mochabugapis.adapt.runtime.v1.BatchGetSystemTokensRequest
 */
export type BatchGetSystemTokensRequest = Message<"mochabugapis.adapt.runtime.v1.BatchGetSystemTokensRequest"> & {
    /**
     * The names of the tokens to fetch
     *
     * @generated from field: repeated string names = 1;
     */
    names: string[];
};
/**
 * The request to get multiple oauth2 tokens
 *
 * @generated from message mochabugapis.adapt.runtime.v1.BatchGetSystemTokensRequest
 */
export type BatchGetSystemTokensRequestJson = {
    /**
     * The names of the tokens to fetch
     *
     * @generated from field: repeated string names = 1;
     */
    names?: string[];
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.BatchGetSystemTokensRequest.
 * Use `create(BatchGetSystemTokensRequestSchema)` to create a new message.
 */
export declare const BatchGetSystemTokensRequestSchema: GenMessage<BatchGetSystemTokensRequest, {
    jsonType: BatchGetSystemTokensRequestJson;
}>;
/**
 * The response of getting multiple oauth2 tokens
 *
 * @generated from message mochabugapis.adapt.runtime.v1.BatchGetSystemTokensResponse
 */
export type BatchGetSystemTokensResponse = Message<"mochabugapis.adapt.runtime.v1.BatchGetSystemTokensResponse"> & {
    /**
     * Name, token pairs
     *
     * @generated from field: map<string, mochabugapis.adapt.runtime.v1.Token> items = 1;
     */
    items: {
        [key: string]: Token;
    };
};
/**
 * The response of getting multiple oauth2 tokens
 *
 * @generated from message mochabugapis.adapt.runtime.v1.BatchGetSystemTokensResponse
 */
export type BatchGetSystemTokensResponseJson = {
    /**
     * Name, token pairs
     *
     * @generated from field: map<string, mochabugapis.adapt.runtime.v1.Token> items = 1;
     */
    items?: {
        [key: string]: TokenJson;
    };
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.BatchGetSystemTokensResponse.
 * Use `create(BatchGetSystemTokensResponseSchema)` to create a new message.
 */
export declare const BatchGetSystemTokensResponseSchema: GenMessage<BatchGetSystemTokensResponse, {
    jsonType: BatchGetSystemTokensResponseJson;
}>;
/**
 * A representation of a OAuth2 token
 *
 * @generated from message mochabugapis.adapt.runtime.v1.Token
 */
export type Token = Message<"mochabugapis.adapt.runtime.v1.Token"> & {
    /**
     * The name of the token
     * Restrictions:
     * - Must match the ECMA regex: ^[_$a-zA-Z][_$a-zA-Z0-9]*$
     * - Length must be greater than 0 and less than 50 characters.
     *
     * @generated from field: string name = 1;
     */
    name: string;
    /**
     * The actual token
     *
     * @generated from field: string token = 2;
     */
    token: string;
    /**
     * The type of token (typically Bearer)
     *
     * @generated from field: string type = 3;
     */
    type: string;
    /**
     * When the token expires
     *
     * @generated from field: google.protobuf.Timestamp expires = 4;
     */
    expires?: Timestamp;
};
/**
 * A representation of a OAuth2 token
 *
 * @generated from message mochabugapis.adapt.runtime.v1.Token
 */
export type TokenJson = {
    /**
     * The name of the token
     * Restrictions:
     * - Must match the ECMA regex: ^[_$a-zA-Z][_$a-zA-Z0-9]*$
     * - Length must be greater than 0 and less than 50 characters.
     *
     * @generated from field: string name = 1;
     */
    name?: string;
    /**
     * The actual token
     *
     * @generated from field: string token = 2;
     */
    token?: string;
    /**
     * The type of token (typically Bearer)
     *
     * @generated from field: string type = 3;
     */
    type?: string;
    /**
     * When the token expires
     *
     * @generated from field: google.protobuf.Timestamp expires = 4;
     */
    expires?: TimestampJson;
};
/**
 * Describes the message mochabugapis.adapt.runtime.v1.Token.
 * Use `create(TokenSchema)` to create a new message.
 */
export declare const TokenSchema: GenMessage<Token, {
    jsonType: TokenJson;
}>;
/**
 * Accessible to both executor and configurator
 *
 * @generated from service mochabugapis.adapt.runtime.v1.PluginService
 */
export declare const PluginService: GenService<{
    /**
     * The authorization endpoint, make sure that the access token is OK
     * Valid scopes: runtimeapi/plugin, runtimeapi/plugin.authorize
     *
     * @generated from rpc mochabugapis.adapt.runtime.v1.PluginService.Authorize
     */
    authorize: {
        methodKind: "unary";
        input: typeof AuthorizeRequestSchema;
        output: typeof AuthorizeResponseSchema;
    };
    /**
     * Get information about configured system services
     * Valid scopes: runtimeapi/plugin, runtimeapi/plugin.system.services:read
     *
     * @generated from rpc mochabugapis.adapt.runtime.v1.PluginService.GetSystemServices
     */
    getSystemServices: {
        methodKind: "unary";
        input: typeof GetSystemServicesRequestSchema;
        output: typeof GetSystemServicesResponseSchema;
    };
    /**
     * Fetch the envionment variables configured by the plugin
     * Valid scopes: runtimeapi/plugin, runtimeapi/plugin.variables:read
     *
     * @generated from rpc mochabugapis.adapt.runtime.v1.PluginService.BatchGetSystemVariables
     */
    batchGetSystemVariables: {
        methodKind: "unary";
        input: typeof BatchGetSystemVariablesRequestSchema;
        output: typeof BatchGetSystemVariablesResponseSchema;
    };
    /**
     * Fetch the envionment variables configured by the user
     * Valid scopes: runtimeapi/plugin, runtimeapi/plugin.user.variables:read
     *
     * @generated from rpc mochabugapis.adapt.runtime.v1.PluginService.BatchGetUserVariables
     */
    batchGetUserVariables: {
        methodKind: "unary";
        input: typeof BatchGetUserVariablesRequestSchema;
        output: typeof BatchGetUserVariablesResponseSchema;
    };
    /**
     * Get oauth2 bearer token from a user's consent or a service account
     * Valid scopes: runtimeapi/plugin, runtimeapi/plugin.user.tokens:read
     *
     * @generated from rpc mochabugapis.adapt.runtime.v1.PluginService.BatchGetUserTokens
     */
    batchGetUserTokens: {
        methodKind: "unary";
        input: typeof BatchGetUserTokensRequestSchema;
        output: typeof BatchGetUserTokensResponseSchema;
    };
    /**
     * Get oauth2 bearer token from a plugin's service account
     * Valid scopes: runtimeapi/plugin, runtimeapi/plugin.tokens:read
     *
     * @generated from rpc mochabugapis.adapt.runtime.v1.PluginService.BatchGetSystemTokens
     */
    batchGetSystemTokens: {
        methodKind: "unary";
        input: typeof BatchGetSystemTokensRequestSchema;
        output: typeof BatchGetSystemTokensResponseSchema;
    };
}>;
//# sourceMappingURL=plugin_service_pb.d.ts.map