import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
import type { JTDSchema, JTDSchemaJson } from "../../graph/v1/jtd_schema_pb";
import type { Message } from "@bufbuild/protobuf";
/**
 * Describes the file mochabugapis/adapt/plugins/v1/variable_service.proto.
 */
export declare const file_mochabugapis_adapt_plugins_v1_variable_service: GenFile;
/**
 * A definition of a JSON variable
 *
 * This message represents a variable used within the hosting platform.
 * Variables are essential for configuring applications and services hosted on the platform.
 * They store values that can be accessed by the application or service during runtime.
 *
 * @generated from message mochabugapis.adapt.plugins.v1.VariableDefinition
 */
export type VariableDefinition = Message<"mochabugapis.adapt.plugins.v1.VariableDefinition"> & {
    /**
     * The schema that the variable must adhere to
     *
     * @generated from field: mochabugapis.adapt.graph.v1.JTDSchema schema = 1;
     */
    schema?: JTDSchema | undefined;
    /**
     * If true, the variable value is NOT treated as a secret.
     *
     * ## When plaintext = false (default):
     * - Values are encrypted at rest
     * - Values are treated as sensitive secrets
     *
     * ## When plaintext = true:
     * - Values are stored normally (not encrypted)
     * - Values are treated as non-sensitive data
     *
     * ## Use Cases for plaintext = false (default):
     * - API keys, access tokens, passwords
     * - Database connection strings with credentials
     * - Encryption keys, signing secrets
     * - OAuth client secrets
     * - Any credential material
     *
     * ## Use Cases for plaintext = true:
     * - Public configuration values
     * - Feature flags
     * - API endpoints (URLs without credentials)
     * - User IDs, tenant IDs, organization IDs
     * - Public identifiers
     *
     * ## Security Best Practices
     *
     * ALWAYS leave plaintext = false (default) for:
     * - Anything that grants access or authorization
     * - Anything that could be used to impersonate a user or service
     * - Any sensitive user-provided data
     *
     * Only set plaintext = true when the value contains non-sensitive
     * user-provided information.
     *
     * Default: false (variables are secrets by default)
     *
     * @generated from field: bool plaintext = 3;
     */
    plaintext: boolean;
};
/**
 * A definition of a JSON variable
 *
 * This message represents a variable used within the hosting platform.
 * Variables are essential for configuring applications and services hosted on the platform.
 * They store values that can be accessed by the application or service during runtime.
 *
 * @generated from message mochabugapis.adapt.plugins.v1.VariableDefinition
 */
export type VariableDefinitionJson = {
    /**
     * The schema that the variable must adhere to
     *
     * @generated from field: mochabugapis.adapt.graph.v1.JTDSchema schema = 1;
     */
    schema?: JTDSchemaJson;
    /**
     * If true, the variable value is NOT treated as a secret.
     *
     * ## When plaintext = false (default):
     * - Values are encrypted at rest
     * - Values are treated as sensitive secrets
     *
     * ## When plaintext = true:
     * - Values are stored normally (not encrypted)
     * - Values are treated as non-sensitive data
     *
     * ## Use Cases for plaintext = false (default):
     * - API keys, access tokens, passwords
     * - Database connection strings with credentials
     * - Encryption keys, signing secrets
     * - OAuth client secrets
     * - Any credential material
     *
     * ## Use Cases for plaintext = true:
     * - Public configuration values
     * - Feature flags
     * - API endpoints (URLs without credentials)
     * - User IDs, tenant IDs, organization IDs
     * - Public identifiers
     *
     * ## Security Best Practices
     *
     * ALWAYS leave plaintext = false (default) for:
     * - Anything that grants access or authorization
     * - Anything that could be used to impersonate a user or service
     * - Any sensitive user-provided data
     *
     * Only set plaintext = true when the value contains non-sensitive
     * user-provided information.
     *
     * Default: false (variables are secrets by default)
     *
     * @generated from field: bool plaintext = 3;
     */
    plaintext?: boolean;
};
/**
 * Describes the message mochabugapis.adapt.plugins.v1.VariableDefinition.
 * Use `create(VariableDefinitionSchema)` to create a new message.
 */
export declare const VariableDefinitionSchema: GenMessage<VariableDefinition, {
    jsonType: VariableDefinitionJson;
}>;
//# sourceMappingURL=variable_service_pb.d.ts.map