import { Insertable, Kysely, Updateable } from 'kysely';
import { AlbumUserRole } from "../enum";
import { DB } from "../schema";
import { AlbumUserTable } from "../schema/tables/album-user.table";
export type AlbumPermissionId = {
    albumId: string;
    userId: string;
};
export declare class AlbumUserRepository {
    private db;
    constructor(db: Kysely<DB>);
    create(albumUser: Insertable<AlbumUserTable>): Promise<{
        userId: string;
        role: AlbumUserRole;
        albumId: string;
    }>;
    update({ userId, albumId }: AlbumPermissionId, dto: Updateable<AlbumUserTable>): Promise<void>;
    delete({ userId, albumId }: AlbumPermissionId): Promise<void>;
}
