import { TokenMintService } from '../service/token-mint.service';
import { TokenReadService } from '../service/token-read.service';
import { TokenUpdateService } from '../service/token-update.service';
import { TokenBurnService } from '../service/token-burn.service';
import { TokenMintDto } from '../dto/token-mint.dto';
import { TokenReadDto } from '../dto/token-read.dto';
import { TokenUpdateDto } from '../dto/token-update.dto';
import { SegmentReadDto } from 'src/segment/dto/segment.read.dto';
import { TokenTransferDto } from '../dto/token-transfer.dto';
import { TransferEventDto } from '../dto/transfer-event.dto';
declare enum Status {
    Confirmed = "confirmed",
    Unconfirmed = "unconfirmed"
}
export declare class TokenController {
    private readonly tokenMintService;
    private readonly tokenReadService;
    private readonly tokenUpdateService;
    private readonly tokenBurnService;
    constructor(tokenMintService: TokenMintService, tokenReadService: TokenReadService, tokenUpdateService: TokenUpdateService, tokenBurnService: TokenBurnService);
    mintToken(dto: TokenMintDto, appendToHierarchy: string): Promise<TokenReadDto>;
    getTokens(remoteId?: string): Promise<TokenReadDto[]>;
    getToken(tokenId: string): Promise<TokenReadDto>;
    getTokenTransferEvents(tokenId: string): Promise<TransferEventDto[]>;
    getParentIds(tokenId: string, status: Status): Promise<number[]>;
    getChildIds(tokenId: string, status: Status): Promise<number[]>;
    getSegments(tokenId: string): Promise<SegmentReadDto[]>;
    transferToken(tokenId: string, receiverTransferDto: TokenTransferDto): Promise<TokenReadDto>;
    updateToken(tokenId: string, dto: TokenUpdateDto): Promise<TokenReadDto>;
    confirmChild(tokenId: string, childId: string): Promise<void>;
    burnToken(tokenId: string): Promise<void>;
    private parseId;
    private validateStatus;
}
export {};
