import { Model } from 'sequelize-typescript';
import { MChannelSync, MChannelSyncChannel, MChannelSyncFormattable } from '../../types/models';
import { VideoChannelSync, VideoChannelSyncState } from '../../../shared/models';
import { AttributesOnly } from '../../../shared/typescript-utils';
import { VideoChannelModel } from './video-channel';
export declare class VideoChannelSyncModel extends Model<Partial<AttributesOnly<VideoChannelSyncModel>>> {
    externalChannelUrl: string;
    createdAt: Date;
    updatedAt: Date;
    videoChannelId: number;
    VideoChannel: VideoChannelModel;
    state: VideoChannelSyncState;
    lastSyncAt: Date;
    static listByAccountForAPI(options: {
        accountId: number;
        start: number;
        count: number;
        sort: string;
    }): Promise<{
        total: number;
        data: VideoChannelSyncModel[];
    }>;
    static countByAccount(accountId: number): Promise<number>;
    static loadWithChannel(id: number): Promise<MChannelSyncChannel>;
    static listSyncs(): Promise<MChannelSync[]>;
    toFormattedJSON(this: MChannelSyncFormattable): VideoChannelSync;
}
//# sourceMappingURL=video-channel-sync.d.ts.map