export interface LoRAConfig {
    rank: number;
    alpha: number;
    variables: string[];
}
export interface GPTConfigBase {
    modelType?: string;
    vocabSize: number;
    blockSize: number;
    nLayer: number;
    nHead: number;
    nEmbed: number;
    mlpFactor: number;
    loraConfig?: Map<string, LoRAConfig>;
    loraName?: string;
}
export interface GPTConfigV1 extends GPTConfigBase {
    modelType: 'GenAI_NanoGPT_v1';
    useRope: boolean;
}
export interface GPTConfigV2 extends GPTConfigBase {
    modelType: 'GenAI_NanoGPT_v2';
    windowSize?: string;
}
export type GPTConfig = GPTConfigV1 | GPTConfigV2;
export declare const defaultConfig: GPTConfig;
export declare function validateConfig(config: unknown): asserts config is GPTConfig;
