export declare class CombinationUtil {
    /**
     * 재귀를 통해 조합을 생성하는 내부 static 함수입니다.
     *
     * * This private static function recursively builds combinations.
     *
     * @param array 2차원 배열 (2D array)
     * @param current 현재 조합을 저장하는 배열 (Array storing the current combination)
     * @param depth 현재 2차원 배열의 위치 (Current position in the 2D array)
     * @param result 가능한 조합을 저장하는 배열 (Array to store possible combinations)
     */
    private static combine;
    /**
     * 주어진 2차원 배열에서 가능한 모든 조합을 생성하여 반환합니다.
     * 1차 배열의 순서는 바뀌지 않습니다.
     *
     * * This static function generates all possible combinations from a given
     * 2D array, preserving the order of the first dimension.
     *
     * @param array 2차원 배열 (2D array)
     * @returns 가능한 조합의 목록 (List of possible combinations)
     */
    static getCombinations<T>(array: T[][]): T[][];
}
