import { Definition, UnknownSpec } from './definitions'; import { Display } from './display'; import { Metadata, ProjectMetadata } from './resource'; export type VariableName = string; export type VariableValue = string | string[] | null; export interface VariableDisplay extends Display { hidden?: boolean; } export interface VariableSpec { name: VariableName; display?: VariableDisplay; } export interface TextVariableDefinition extends Definition { kind: 'TextVariable'; } export interface TextVariableSpec extends VariableSpec { value: string; constant?: boolean; } export interface ListVariableDefinition extends Definition { kind: 'ListVariable'; } export interface ListVariableSpec extends VariableSpec { defaultValue?: VariableValue; allowMultiple: boolean; allowAllValue: boolean; customAllValue?: string; capturingRegexp?: string; sort?: string; plugin: Definition; } export interface BuiltinVariableDefinition extends Definition { kind: 'BuiltinVariable'; } export interface BuiltinVariableSpec extends VariableSpec { value: () => string; source: string; } export type VariableDefinition = TextVariableDefinition | ListVariableDefinition; /** * A variable that belongs to a project. */ export interface VariableResource { kind: 'Variable'; metadata: ProjectMetadata; spec: VariableDefinition; } /** * A global variable that doesn´t belong to a project. */ export interface GlobalVariableResource { kind: 'GlobalVariable'; metadata: Metadata; spec: VariableDefinition; } export type Variable = VariableResource | GlobalVariableResource; export declare function getVariableProject(variable: Variable): string | undefined; export declare const DEFAULT_ALL_VALUE: "$__all"; //# sourceMappingURL=variables.d.ts.map