/**
 * TypeScript型生成機能 - ksqlDBスキーマから自動型定義生成
 *
 * 完全実装済み機能:
 * - TypeScript型定義の自動生成 ✅
 * - マッパー関数の自動生成 ✅
 * - カラムメタデータの生成 ✅
 * - 配列/マップ型対応 ✅
 * - インターフェース名の自動生成 ✅
 * - 複数テーブル一括生成 ✅
 */
/**
 * テーブル/ストリーム情報を取得する型
 */
export interface TableInfo {
    name: string;
    type: 'TABLE' | 'STREAM';
    topic: string;
    keyFormat: string;
    valueFormat: string;
    isWindowed: boolean;
}
/**
 * カラム情報を表す型
 */
export interface ColumnInfo {
    name: string;
    type: string;
    nullable: boolean;
    key: boolean;
}
/**
 * スキーマ情報を表す型
 */
export interface SchemaInfo {
    tableName: string;
    columns: ColumnInfo[];
    tableInfo: TableInfo;
}
/**
 * 生成されるTypeScript型の情報
 */
export interface GeneratedTypeInfo {
    interfaceName: string;
    interfaceCode: string;
    mapperFunctionName: string;
    mapperCode: string;
    columnMetadata: string;
    fullCode: string;
}
/**
 * 全テーブル/ストリーム一覧を取得
 * @returns テーブル・ストリーム情報の配列
 */
export declare function listAllTables(): Promise<TableInfo[]>;
/**
 * テーブル/ストリームのスキーマ情報を取得
 * @param tableName - テーブル/ストリーム名
 * @returns スキーマ情報
 */
export declare function getTableSchema(tableName: string): Promise<SchemaInfo>;
/**
 * ksqlDB型をTypeScript型に変換
 * @param ksqlType - ksqlDBのデータ型
 * @param nullable - null許可フラグ
 * @returns TypeScript型文字列
 */
export declare function convertKsqlTypeToTypeScript(ksqlType: string, nullable?: boolean): string;
/**
 * TypeScript インターフェースを生成
 * @param schema - スキーマ情報
 * @returns 生成されたインターフェースコード
 */
export declare function generateTypeScriptInterface(schema: SchemaInfo): string;
/**
 * マッパー関数を生成
 * @param schema - スキーマ情報
 * @returns 生成されたマッパー関数コード
 */
export declare function generateMapperFunction(schema: SchemaInfo): string;
/**
 * カラムメタデータを生成
 * @param schema - スキーマ情報
 * @returns 生成されたメタデータコード
 */
export declare function generateColumnMetadata(schema: SchemaInfo): string;
/**
 * 完全なTypeScript型定義ファイルを生成
 * @param schema - スキーマ情報
 * @returns 生成された完全な型定義情報
 */
export declare function generateCompleteTypeDefinition(schema: SchemaInfo): GeneratedTypeInfo;
/**
 * テーブル名からインターフェース名を生成
 * @param tableName - テーブル名
 * @returns インターフェース名
 */
export declare function generateInterfaceName(tableName: string): string;
/**
 * テーブル名からマッパー関数名を生成
 * @param tableName - テーブル名
 * @returns マッパー関数名
 */
export declare function generateMapperFunctionName(tableName: string): string;
/**
 * テーブル名からカラム定数名を生成
 * @param tableName - テーブル名
 * @returns カラム定数名
 */
export declare function generateColumnConstantName(tableName: string): string;
/**
 * 複数テーブルの型定義を一括生成
 * @param tableNames - テーブル名の配列（省略時は全テーブル）
 * @returns 生成された型定義情報の配列
 */
export declare function generateTypesForTables(tableNames?: string[]): Promise<GeneratedTypeInfo[]>;
//# sourceMappingURL=type-generator.d.ts.map