import { Library } from "../database";
import z from 'zod';
export interface CrawlOptionsDto {
    pathsToCrawl: string[];
    includeHidden?: boolean;
    exclusionPatterns?: string[];
}
export interface WalkOptionsDto extends CrawlOptionsDto {
    take: number;
}
declare const CreateLibraryDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    ownerId: z.ZodUUID;
    name: z.ZodOptional<z.ZodString>;
    importPaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
    exclusionPatterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>, false>;
export declare class CreateLibraryDto extends CreateLibraryDto_base {
}
declare const UpdateLibraryDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    importPaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
    exclusionPatterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>, false>;
export declare class UpdateLibraryDto extends UpdateLibraryDto_base {
}
declare const ValidateLibraryDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    importPaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
    exclusionPatterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>, false>;
export declare class ValidateLibraryDto extends ValidateLibraryDto_base {
}
declare const ValidateLibraryResponseDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    importPaths: z.ZodOptional<z.ZodArray<z.ZodObject<{
        importPath: z.ZodString;
        isValid: z.ZodBoolean;
        message: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>>;
}, z.core.$strip>, false>;
export declare class ValidateLibraryResponseDto extends ValidateLibraryResponseDto_base {
}
declare const ValidateLibraryImportPathResponseDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    importPath: z.ZodString;
    isValid: z.ZodBoolean;
    message: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, false>;
export declare class ValidateLibraryImportPathResponseDto extends ValidateLibraryImportPathResponseDto_base {
}
declare const LibraryResponseDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    id: z.ZodUUID;
    ownerId: z.ZodUUID;
    name: z.ZodString;
    assetCount: z.ZodInt;
    importPaths: z.ZodArray<z.ZodString>;
    exclusionPatterns: z.ZodArray<z.ZodString>;
    createdAt: z.ZodCodec<z.ZodISODateTime, z.ZodDate>;
    updatedAt: z.ZodCodec<z.ZodISODateTime, z.ZodDate>;
    refreshedAt: z.ZodNullable<z.ZodCodec<z.ZodISODateTime, z.ZodDate>>;
}, z.core.$strip>, false>;
export declare class LibraryResponseDto extends LibraryResponseDto_base {
}
declare const LibraryStatsResponseDto_base: import("nestjs-zod").ZodDto<z.ZodObject<{
    photos: z.ZodInt;
    videos: z.ZodInt;
    total: z.ZodInt;
    usage: z.ZodInt;
}, z.core.$strip>, false>;
export declare class LibraryStatsResponseDto extends LibraryStatsResponseDto_base {
}
export declare function mapLibrary(entity: Library): LibraryResponseDto;
export {};
