import type { SatelliteDid } from '@junobuild/ic-client/actor';
import { type AssetKey, type UploadAsset } from '@junobuild/storage';
import type { ActorReadParams, ActorUpdateParams } from '../../core/types/actor';
import type { ListParams, ListResults } from '../../core/types/list';
export declare const uploadAsset: ({ asset, ...rest }: {
    asset: UploadAsset;
} & ActorUpdateParams) => Promise<void>;
export declare const listAssets: ({ collection, filter, ...rest }: {
    collection: string;
    filter: ListParams;
} & ActorReadParams) => Promise<ListResults<SatelliteDid.AssetNoContent>>;
export declare const countAssets: ({ collection, filter, ...rest }: {
    collection: string;
    filter: ListParams;
} & ActorReadParams) => Promise<bigint>;
export declare const deleteAsset: ({ collection, fullPath, ...rest }: {
    collection: string;
} & ActorUpdateParams & Pick<AssetKey, "fullPath">) => Promise<void>;
export declare const deleteManyAssets: ({ assets, satellite }: {
    assets: ({
        collection: string;
    } & Pick<AssetKey, "fullPath">)[];
} & ActorUpdateParams) => Promise<void>;
export declare const deleteFilteredAssets: ({ collection, filter, ...rest }: {
    collection: string;
    filter: ListParams;
} & ActorUpdateParams) => Promise<void>;
export declare const getAsset: ({ collection, fullPath, ...rest }: {
    collection: string;
} & ActorReadParams & Pick<AssetKey, "fullPath">) => Promise<SatelliteDid.AssetNoContent | undefined>;
export declare const getManyAssets: ({ assets, ...rest }: {
    assets: ({
        collection: string;
    } & Pick<AssetKey, "fullPath">)[];
} & ActorReadParams) => Promise<(SatelliteDid.AssetNoContent | undefined)[]>;
