import { type InjectionKey, Ref } from 'vue';
import type { ShareSheetItemProps } from '../share-sheet-item/common';
export interface ShareSheetContext {
    select: (item: ShareSheetItemProps) => void;
    addItem: (item: ShareSheetItemProps) => void;
    removeItem: (item: ShareSheetItemProps) => void;
}
export declare const shareSheetContextKey: InjectionKey<ShareSheetContext>;
export declare function provideShareSheet(context: ShareSheetContext): void;
export interface UseShareSheetReturn {
    items: Ref<ShareSheetItemProps[]>;
    setSelectCallback: (callback: (item: ShareSheetItemProps, index: number) => void) => void;
}
export declare function useShareSheet(): UseShareSheetReturn;
export declare function useShareSheetItem(item: ShareSheetItemProps): {
    select: () => void;
};
