export interface ModuleConfig {
    name: string;
    description: string;
    version: string;
    dependencies: string[];
    migrations: ModuleMigration[];
    tags: string[];
    environments: string[];
    locked?: boolean;
    lockReason?: string;
}
export interface ModuleMigration {
    id: string;
    description: string;
    timestamp: string;
}
export interface ApplicationConfig {
    name: string;
    description: string;
    modules: string[];
    customMigrations: string[];
    environment: {
        [env: string]: {
            database: string;
            namespace: string;
        };
    };
}
export interface SurrealDBConfig {
    url?: string;
    namespace?: string;
    database?: string;
    username?: string;
    password?: string;
}
export interface Migration {
    id?: string;
    path: string;
    filename: string;
    number?: string;
    name?: string;
    direction: string;
    content?: string;
    module: string;
    namespace?: string;
    database?: string;
    status: string;
    checksum?: string;
    applied_at?: Date;
    applied_by?: string;
    execution_time_ms?: number;
}
export interface MigrationRecord {
    id?: string;
    number: string;
    name: string;
    direction: string;
    filename: string;
    path: string;
    content: string;
    module: string;
    namespace?: string;
    database?: string;
    checksum?: string;
    status: 'success' | 'fail';
    applied_at?: Date;
    applied_by?: string;
    execution_time_ms?: number;
}
export interface SurrealQueryResult {
    result: unknown[];
    status?: string;
    [key: string]: unknown;
}
