import { BulkIdsDto } from "../dtos/asset-ids.response.dto";
import { AuthDto } from "../dtos/auth.dto";
import { StackCreateDto, StackResponseDto, StackSearchDto, StackUpdateDto } from "../dtos/stack.dto";
import { StackService } from "../services/stack.service";
import { UUIDAssetIDParamDto, UUIDParamDto } from "../validation";
export declare class StackController {
    private service;
    constructor(service: StackService);
    searchStacks(auth: AuthDto, query: StackSearchDto): Promise<StackResponseDto[]>;
    createStack(auth: AuthDto, dto: StackCreateDto): Promise<StackResponseDto>;
    deleteStacks(auth: AuthDto, dto: BulkIdsDto): Promise<void>;
    getStack(auth: AuthDto, { id }: UUIDParamDto): Promise<StackResponseDto>;
    updateStack(auth: AuthDto, { id }: UUIDParamDto, dto: StackUpdateDto): Promise<StackResponseDto>;
    updateStackV3(auth: AuthDto, { id }: UUIDParamDto, dto: StackUpdateDto): Promise<StackResponseDto>;
    deleteStack(auth: AuthDto, { id }: UUIDParamDto): Promise<void>;
    removeAssetFromStack(auth: AuthDto, dto: UUIDAssetIDParamDto): Promise<void>;
}
