import { Generated, Int8 } from '@immich/sql-tools';
import { ActivityTable } from "./tables/activity.table";
import { AlbumAssetAuditTable } from "./tables/album-asset-audit.table";
import { AlbumAssetTable } from "./tables/album-asset.table";
import { AlbumAuditTable } from "./tables/album-audit.table";
import { AlbumUserAuditTable } from "./tables/album-user-audit.table";
import { AlbumUserTable } from "./tables/album-user.table";
import { AlbumTable } from "./tables/album.table";
import { ApiKeyTable } from "./tables/api-key.table";
import { AssetAuditTable } from "./tables/asset-audit.table";
import { AssetAudioTable, AssetKeyframeTable, AssetVideoTable } from "./tables/asset-av.table";
import { AssetEditAuditTable } from "./tables/asset-edit-audit.table";
import { AssetEditTable } from "./tables/asset-edit.table";
import { AssetExifTable } from "./tables/asset-exif.table";
import { AssetFaceAuditTable } from "./tables/asset-face-audit.table";
import { AssetFaceTable } from "./tables/asset-face.table";
import { AssetFileTable } from "./tables/asset-file.table";
import { AssetJobStatusTable } from "./tables/asset-job-status.table";
import { AssetMetadataAuditTable } from "./tables/asset-metadata-audit.table";
import { AssetMetadataTable } from "./tables/asset-metadata.table";
import { AssetOcrAuditTable } from "./tables/asset-ocr-audit.table";
import { AssetOcrTable } from "./tables/asset-ocr.table";
import { AssetTable } from "./tables/asset.table";
import { FaceSearchTable } from "./tables/face-search.table";
import { GeodataPlacesTable } from "./tables/geodata-places.table";
import { IntegrityReportTable } from "./tables/integrity-report.table";
import { LibraryTable } from "./tables/library.table";
import { MemoryAssetAuditTable } from "./tables/memory-asset-audit.table";
import { MemoryAssetTable } from "./tables/memory-asset.table";
import { MemoryAuditTable } from "./tables/memory-audit.table";
import { MemoryTable } from "./tables/memory.table";
import { MoveTable } from "./tables/move.table";
import { NaturalEarthCountriesTable } from "./tables/natural-earth-countries.table";
import { NotificationTable } from "./tables/notification.table";
import { OcrSearchTable } from "./tables/ocr-search.table";
import { PartnerAuditTable } from "./tables/partner-audit.table";
import { PartnerTable } from "./tables/partner.table";
import { PersonAuditTable } from "./tables/person-audit.table";
import { PersonTable } from "./tables/person.table";
import { PluginMethodTable } from "./tables/plugin-method.table";
import { PluginTable } from "./tables/plugin.table";
import { SessionTable } from "./tables/session.table";
import { SharedLinkAssetTable } from "./tables/shared-link-asset.table";
import { SharedLinkTable } from "./tables/shared-link.table";
import { SmartSearchTable } from "./tables/smart-search.table";
import { StackAuditTable } from "./tables/stack-audit.table";
import { StackTable } from "./tables/stack.table";
import { SessionSyncCheckpointTable } from "./tables/sync-checkpoint.table";
import { SystemMetadataTable } from "./tables/system-metadata.table";
import { TagAssetTable } from "./tables/tag-asset.table";
import { TagClosureTable } from "./tables/tag-closure.table";
import { TagTable } from "./tables/tag.table";
import { UserAuditTable } from "./tables/user-audit.table";
import { UserMetadataAuditTable } from "./tables/user-metadata-audit.table";
import { UserMetadataTable } from "./tables/user-metadata.table";
import { UserTable } from "./tables/user.table";
import { VersionHistoryTable } from "./tables/version-history.table";
import { VideoStreamSegmentTable, VideoStreamSessionTable, VideoStreamVariantTable } from "./tables/video-stream.table";
import { WorkflowStepTable } from "./tables/workflow-step.table";
import { WorkflowTable } from "./tables/workflow.table";
export declare class ImmichDatabase {
    tables: (typeof UserTable | typeof LibraryTable | typeof StackTable | typeof AssetTable | typeof AssetExifTable | typeof AlbumTable | typeof AlbumAssetTable | typeof ActivityTable | typeof AlbumAssetAuditTable | typeof AlbumUserTable | typeof ApiKeyTable | typeof AssetAuditTable | typeof AssetEditAuditTable | typeof AssetEditTable | typeof AssetFaceAuditTable | typeof PersonTable | typeof AssetFaceTable | typeof AssetFileTable | typeof AssetJobStatusTable | typeof AssetMetadataAuditTable | typeof AssetMetadataTable | typeof AssetOcrAuditTable | typeof FaceSearchTable | typeof GeodataPlacesTable | typeof IntegrityReportTable | typeof MemoryTable | typeof MemoryAssetAuditTable | typeof MemoryAssetTable | typeof MoveTable | typeof NaturalEarthCountriesTable | typeof NotificationTable | typeof OcrSearchTable | typeof PartnerAuditTable | typeof PartnerTable | typeof PersonAuditTable | typeof PluginMethodTable | typeof SessionTable | typeof SharedLinkTable | typeof SharedLinkAssetTable | typeof SmartSearchTable | typeof SessionSyncCheckpointTable | typeof SystemMetadataTable | typeof TagTable | typeof TagAssetTable | typeof TagClosureTable | typeof UserAuditTable | typeof UserMetadataTable | typeof VersionHistoryTable | typeof VideoStreamSessionTable | typeof VideoStreamVariantTable | typeof VideoStreamSegmentTable | typeof WorkflowTable | typeof WorkflowStepTable)[];
    functions: import("@immich/sql-tools", { with: { "resolution-mode": "import" } }).DatabaseFunction[];
    enum: import("@immich/sql-tools", { with: { "resolution-mode": "import" } }).DatabaseEnum[];
}
export interface Migrations {
    id: Generated<number>;
    name: string;
    timestamp: Int8;
}
export interface DB {
    kysely_migrations: {
        timestamp: string;
        name: string;
    };
    activity: ActivityTable;
    album: AlbumTable;
    album_audit: AlbumAuditTable;
    album_asset: AlbumAssetTable;
    album_asset_audit: AlbumAssetAuditTable;
    album_user: AlbumUserTable;
    album_user_audit: AlbumUserAuditTable;
    api_key: ApiKeyTable;
    asset: AssetTable;
    asset_audit: AssetAuditTable;
    asset_edit: AssetEditTable;
    asset_edit_audit: AssetEditAuditTable;
    asset_exif: AssetExifTable;
    asset_face: AssetFaceTable;
    asset_face_audit: AssetFaceAuditTable;
    asset_file: AssetFileTable;
    asset_metadata: AssetMetadataTable;
    asset_metadata_audit: AssetMetadataAuditTable;
    asset_job_status: AssetJobStatusTable;
    asset_ocr: AssetOcrTable;
    asset_ocr_audit: AssetOcrAuditTable;
    asset_audio: AssetAudioTable;
    asset_video: AssetVideoTable;
    asset_keyframe: AssetKeyframeTable;
    ocr_search: OcrSearchTable;
    face_search: FaceSearchTable;
    geodata_places: GeodataPlacesTable;
    integrity_report: IntegrityReportTable;
    library: LibraryTable;
    memory: MemoryTable;
    memory_audit: MemoryAuditTable;
    memory_asset: MemoryAssetTable;
    memory_asset_audit: MemoryAssetAuditTable;
    migrations: Migrations;
    notification: NotificationTable;
    move_history: MoveTable;
    naturalearth_countries: NaturalEarthCountriesTable;
    partner: PartnerTable;
    partner_audit: PartnerAuditTable;
    person: PersonTable;
    person_audit: PersonAuditTable;
    session: SessionTable;
    session_sync_checkpoint: SessionSyncCheckpointTable;
    shared_link: SharedLinkTable;
    shared_link_asset: SharedLinkAssetTable;
    smart_search: SmartSearchTable;
    stack: StackTable;
    stack_audit: StackAuditTable;
    system_metadata: SystemMetadataTable;
    tag: TagTable;
    tag_asset: TagAssetTable;
    tag_closure: TagClosureTable;
    user: UserTable;
    user_audit: UserAuditTable;
    user_metadata: UserMetadataTable;
    user_metadata_audit: UserMetadataAuditTable;
    version_history: VersionHistoryTable;
    video_stream_session: VideoStreamSessionTable;
    video_stream_variant: VideoStreamVariantTable;
    video_stream_segment: VideoStreamSegmentTable;
    plugin: PluginTable;
    plugin_method: PluginMethodTable;
    workflow: WorkflowTable;
    workflow_step: WorkflowStepTable;
}
