/**
 * Copyright 2013-2026 the original author or authors from the JHipster project.
 *
 * This file is part of the JHipster project, see https://www.jhipster.tech/
 * for more information.
 *
 * 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
 *
 *      https://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.
 */
export type GitHubMatrix = {
    os: string;
    'node-version': string;
    'java-version': string;
    'default-environment': string;
    'job-name': string;
    sample: string;
    'samples-group'?: string;
    'sample-type'?: string;
    'sample-file'?: string;
    'sample-folder'?: string;
    generatorOptions?: Record<string, unknown>;
    args?: string;
    'jwt-secret-key'?: string;
    jdl?: string;
};
export type GitHubMatrixGroup = Record<string, Partial<Omit<GitHubMatrix, 'job-name'>> & {
    disabled?: boolean;
}>;
export type GitHubMatrixOutput = {
    include: GitHubMatrix[];
};
export declare const getUnknownGitHubMatrixProperties: (matrix: Partial<GitHubMatrix>) => string[];
export declare const getUnknownGitHubMatrixGroupProperties: (matrixRecord: GitHubMatrixGroup) => string[];
export declare const defaultGithubEnvironment: {
    os: string;
    'node-version': string;
    'java-version': string;
    'npm-version': any;
    'default-environment': string;
    'jwt-secret-key': string;
};
type RandomEnvironmentOptions = {
    useVersionPlaceholders?: boolean;
    javaVersions?: string[];
    nodeVersions?: string[];
};
export declare const convertToGitHubMatrix: (matrix: GitHubMatrixGroup, options?: {
    randomEnvironment?: boolean;
} & RandomEnvironmentOptions) => GitHubMatrixOutput;
export {};
